众所周知
,全局关键字使变量(或对象,数组)在我们正在处理的当前函数中可见
<?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 声明它,所以只需快速浏览一下,我就知道它在某处被引用为全局。(意思是无论如何都不要重命名,因为其他在其他地方使用... :) )