假设情况: 我正在 php 中运行一个复杂的网站,并且使用了很多全局变量。
我可以将变量存储在现有的全局范围中,例如 $_REQUEST['userInfo']
、$_REQUEST['foo']
和 $ _REQUEST['bar']
等,并将许多不同的内容放入请求范围中(这是适当的使用,因为这些数据引用请求本身)。
或
我可以在我的大多数函数中继续使用像 global $userInfo, $foo, $bar;
这样的行。
两种解决方案的性能是否受到影响,或者内存使用情况是否存在差异?
其中一个更容易输入...那么有最佳实践指南吗?
最佳答案
您的全局变量已经可以在 $GLOBALS['foo']、$GLOBALS['bar']
等中访问。这在函数范围内更清楚地表明它们来自全局范围,而不是使用 global
关键字。不应以任何有意义的方式影响性能。
许多人会告诉您,最佳实践是首先避免全局变量,而是通过函数调用和对象构造函数传递变量。
关于PHP - 全局变量的性能和内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5341131/