【问题标题】:Do global variables cause a load on the server in php?全局变量是否会导致 php 中的服务器负载?
【发布时间】:2012-09-25 14:58:18
【问题描述】:

我想知道像$_SERVER.. 这样的全局变量是否会在多次使用时对服务器造成任何负载?我现在的代码是基本的,但为了良好的编码实践,我应该将这些设置为自己的变量并以这种方式使用它还是只使用全局变量多次?

导致我问这个问题的问题是我有 2 个函数依赖 $_SERVER['DOCUMENT_ROOT'] 来获取它需要的路径,并且在运行一个页面时它必须使用两次,所以我很好奇它是否有助于提高性能将其设置为一个变量并以这种方式使用它。如果这样更好,我会怎么做?当我在函数之外定义它时,我无法在函数中使用它。

谢谢,

【问题讨论】:

  • 它不会导致任何额外的负载,它已经是一个变量;)​​如果你想使用在给定函数或范围之外定义的变量,你应该使用global $var;

标签: php function include


【解决方案1】:

你可以尽可能多地使用 $_SERVER,将它设置为变量再次浪费了很少的内存, $_SERVER 可作为关联数组使用

【讨论】:

    【解决方案2】:

    没有。上帝没有。即使是这样,它也只是一个变量访问。你不是在计算 pi,你只是在访问一个变量。如果有任何差异,那将是如此之小,您将很难证明这一点。当你有理由担心这些事情时,比如你的网站实际上很慢。

    【讨论】:

      【解决方案3】:

      $_SERVER 变量由托管 PHP 的 Web 服务器自动设置,我相信它是在执行脚本之前设置的。引用 $_SERVER 变量不会将任何内容传递给服务器,因为该值已经设置。除非为了清楚起见,你想把$_SERVER['DOCUMENT_ROOT']放在另一个变量中(虽然我认为使用服务器变量本身就足够清楚了),否则没有必要。

      此外,就性能而言,您无需过于担心此类事情。您真正的瓶颈将在数据库层和任何计算密集型任务中找到。

      【讨论】:

        猜你喜欢
        • 2010-12-29
        • 1970-01-01
        • 2012-03-08
        • 2011-09-13
        • 1970-01-01
        • 2015-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多