PHP中的变量也有访问域。作用域可以使用PHP中global
在函数内部、对象中和类中定义的局部变量在函数外部是无法被访问到的;同理,在函数外部、对象外和类外定义的变量,如果没有被传入,也是无法被访问到的。
但是如果一个很多变量要同时被传入很多函数、对象或者类,我们也可以直接将其全局化。这样不仅可以简化代码,同时也可以减少PHP的内存消耗,以提高运行效率。
如下面的代码:
<?php$str="Hello World";functionfoo($strArg){echo$strArg;}foo($str);//Output: Hello World?>
我们将$str变量传入foo函数中,使foo可以访问到$str;如果使用全局变量,就可以直接从函数内部访问到$str变量:
<?php$str="Hello World";functionfoo(){global$str;echo$str;}foo();//Output: Hello World?>
不仅仅是变量,对象、类都可以被全局化。这样,那些被经常重复调用或者创建的东西我们就可以将它全局化,简化代码,提高脚本运行效率。
作者:Douglas Crockford 本书的作者Douglas Crockford是JavaScript开发社区最知名的权威,JavaScript的发明人Brendan Eich说他是“Yoda of lambda programming...