如何使 PHP 变量在所有页面中可用


How to make a PHP variable available in all pages

我最近深入研究了wordpress,我注意到一些非常不寻常的事情,在编码时,我注意到一个名为$post变量的特定变量可供我在需要时进行操作,只要我的页面位于wp-includeswp-themeswp-plugins文件夹中,而无需调用任何外部页面或函数。

所以我开始开发一个没有wordpress的网站,希望了解这种异常背后的奥秘。

我将不胜感激所有帮助,使我了解这种现象。我想在建筑工地使用这种技术。谢谢。。。

这不是异常。该变量存在于全局范围内,并且正在您提到的任一文件中定义。你可以很容易地做到像

包括.php

<?php
$myGlobal="Testing";
?>

任何文件.php

<?php
include "include.php";
echo $myGlobal;
?>

您也可以在函数中使用它,只要您引用全局函数,例如

另一个文件.php

<?php
include "include.php";
function test()
{
 global $myGlobal;
 echo $myGlobal;
}
test();
?>

理论

变量的作用域是定义它的上下文。在大多数情况下,所有PHP变量只有一个作用域。这个单一范围也跨越包含的文件和必需的文件

通过在函数中声明(变量)全局,对任一变量的所有引用都将引用全局版本。函数可以操作的全局变量的数量没有限制。

浏览一次这个PHP文档,你会更好地了解它是如何工作的。

看看全局变量:

http://php.net/manual/en/language.variables.scope.php

以及超全球:

http://www.php.net/manual/en/language.variables.superglobals.php

php.iniregister_globals = 打开

$post$get将在任何地方可用