在 PHP 中使用静态方法和属性是否使用较少的内存?
我正在开发一个 Web 应用程序,该应用程序每秒可以看到数十个并发用户。我有一个类,它将在同一页面加载中多次实例化。在该类中,我有一些属性在每个对象中始终相同,因此我正在考虑声明这些属性,以减少在同一页面请求期间实例化此类的多个实例时将使用的内存。static
这样做是否会为此应用程序使用更少的内存,因为PHP只能存储一次静态属性的值?这样做会节省并发用户之间的内存,还是仅在每个PHP进程中节省内存?
这如何适用于方法?如果这意味着对象可以回收相同的方法,那么如果您尝试节省内存,为什么不将类的所有方法都声明为静态呢?
我对为什么以及何时声明一个属性或方法为静态并不完全满意,但我确实理解将它们声明为静态允许在不实例化类的对象的情况下访问它们(这感觉像是一个黑客......这些方法和属性应该在其他地方...不?).我对声明影响内存使用的方式特别感兴趣,以便在我的Web服务器上保持尽可能低的内存使用率...总的来说,所以我对正在发生的事情有了更好的理解。static