php中的函数外的全局关键字

Yan*_*ang 10 php

众所周知,global关键字使变量(或对象,数组)在我们正在处理的当前函数中可见

<?php

$some_var = 'some string';

function __test(){
    global $some_var;
    echo $some_var; // some string
}
Run Code Online (Sandbox Code Playgroud)

但是一些开发人员仍然在函数之外使用全局关键字,首先看它对我没有任何意义.

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

Sam*_*son 11

来自文档:

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

基本上你可以将你的函数内容放在与函数声明不同的文件中.然后将这些内容包含在函数中.这给人的印象,如果单独使用查看用户的胆量,global功能之外,然而事实是,当这个代码解释,它就会从解释的功能.

$name = "Jonathan";

function doSomething () {
  include( 'functionGuts.php' );
}
Run Code Online (Sandbox Code Playgroud)

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

global $name;
echo "Hello, " . $name;
Run Code Online (Sandbox Code Playgroud)

当单独查看时,functionGuts.php会给出在global函数外部使用的印象,而实际上它的使用方式如下:

$name = "Jonathan";

function doSomething () {
  global $name;
  echo "Hello, " . $name;
}
Run Code Online (Sandbox Code Playgroud)