PHP - 全局变量的性能和内存问题

cha*_*kun 2 php memory performance globals

假设情况:我在php中运行一个复杂的站点,我使用了很多全局变量.

我可以在变量存储在现有的全球范围内,也就是说$_REQUEST['userInfo'],$_REQUEST['foo']$_REQUEST['bar']等,并投入了大量的不同的东西放入请求范围(这将是适当的使用,因为这些数据是指请求本身).

要么

我可以继续使用像global $userInfo, $foo, $bar;我的大多数功能中的行.

是否存在性能损失,或两种解决方案的内存使用量差异?

一个更容易打字...那么是否有最佳实践指南?

Mic*_*ski 8

您的全局变量已经可以在$GLOBALS['foo'], $GLOBALS['bar']等等中访问.这是在函数范围内更明确的指示,它们来自全局范围而不是使用global关键字.不应以任何有意义的方式影响性能.

许多人会告诉你,最好的做法是首先避免全局变量,而是通过函数调用和对象构造函数传递变量.


TJH*_*vel 5

两者都很糟糕.我建议使用单例或静态类.

至于记忆用途,没有明显的区别.