正如我们所知,global关键字使变量(或对象,数组)在我们正在处理的当前函数中可见
<?php
$some_var = 'some string';
function __test(){
global $some_var;
echo $some_var; // some string
}
但是有些开发人员仍然在函数之外使用global关键字 起初看起来对我没有任何意义。
嗯,问题是:在函数???
之外使用'global'关键字是否有意义答案 0 :(得分:11)
来自docs:
在函数外部使用全局关键字不是错误。如果文件包含在函数内部,则可以使用它。
基本上你可以将你的函数内容放在与函数声明不同的文件中。然后将这些内容包含在函数中。如果您单独查看使用函数外的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;
}
答案 1 :(得分:1)
函数之外的全局关键字根本不起作用。但该文件可能包含在函数中。
我使用它的另一个原因是使我的代码可读且更有条理。我希望在函数中使用全局关键字访问的任何变量,我在主文件中使用global声明它,所以只需快速浏览一下,我知道它在某个地方作为全局引用。 (意思是不要重命名,因为其他地方在其他地方使用...... :))