正如我们所知,全球关键字使变量(或对象,数组)可见,我们正在处理全球关键字
<?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'关键字是否有意义?
从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;
}
函数之外的全局关键字根本没有做任何事情。但该文件可能包含在一个函数中。
我使用它的另一件事不是让我的代码可读和更有条理。任何我想在函数中使用全局关键字访问的变量,我在主文件中声明了全局变量,所以只需简短一眼,我知道它是作为全局引用的。 (意思是不要重命名,因为其他地方在其他地方使用... :))
您确定它正在使用的范围? – 2012-04-25 01:00:32
我甚至在index.php文件中看到“global $ some_var” - 实际上它不会在任何函数中。我确信范围 – Yang 2012-04-25 01:02:13
@metal_fan我怀疑你在一个单独的文件中看到了函数的内涵。 – Sampson 2012-04-25 01:10:48