PHP 中函数外部的全局关键字


global keyword outside the function in php

众所周知

,全局关键字使变量(或对象,数组)在我们正在处理的当前函数中可见

<?php
$some_var = 'some string';
function __test(){
    global $some_var;
    echo $some_var; // some string
}

但是一些开发人员仍然在函数之外使用global关键字乍一看,这对我来说没有任何意义。

好吧,问题是:在函数之外使用"global"关键字是否有意义???

从文档中:

在函数外部使用 global 关键字不是错误。如果文件包含在函数内部,则可以使用它。

从本质上讲,您可以将函数胆量放在与函数声明不同的文件中。然后,这些胆量将被包含在函数中。如果您单独查看内部情况,这会给人的印象是用户在函数外部使用global,但事实是,当解释此代码时,它将从函数内部解释。

$name = "Jonathan";
function doSomething () {
  include( 'functionGuts.php' );
}

我们的functionGuts.php文件的内容可能是:

global $name;
echo "Hello, " . $name;

单独查看时,functionGuts.php会给人的印象是global是在函数之外使用的,而实际上它是这样使用的:

$name = "Jonathan";
function doSomething () {
  global $name;
  echo "Hello, " . $name;
}

函数之外的全局关键字根本不执行任何操作。 但该文件可能包含在函数中。

我不使用它的另一件事是使我的代码可读且更有条理。 我想在函数中使用全局关键字访问的任何变量,我都会在主文件中使用 global 声明它,所以只需快速浏览一下,我就知道它在某处被引用为全局。(意思是无论如何都不要重命名,因为其他在其他地方使用... :) )