众所周知,global 关键字使变量(或对象、数组)在我们正在处理的当前函数中可见
<?php
$some_var = 'some string';
function __test(){
global $some_var;
echo $some_var; // some string
}
但是有些开发人员乍一看仍然在函数之外使用 global 关键字,这对我来说没有任何意义。
好吧,问题是:在函数之外使用“全局”关键字是否有意义???
众所周知,global 关键字使变量(或对象、数组)在我们正在处理的当前函数中可见
<?php
$some_var = 'some string';
function __test(){
global $some_var;
echo $some_var; // some string
}
但是有些开发人员乍一看仍然在函数之外使用 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 关键字访问的任何变量,我在主文件中使用 global 声明它,所以只需快速浏览一下,我就知道它在某处被引用为全局变量。(意味着无论如何都不要重命名,因为 other 在其他地方使用... :))