【问题标题】:How to make a PHP variable available in all pages如何使 PHP 变量在所有页面中可用
【发布时间】:2013-11-16 13:23:19
【问题描述】:

我最近潜入了 wordpress,发现了一些非常不寻常的东西,在编码时,我注意到一个名为 $post 变量的特定变量可供我在需要时操作,只要我的页面在其中wp-includeswp-themeswp-plugins 文件夹,无需我调用任何外部页面或函数。

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

如果能帮助我理解这一现象,我将不胜感激。我想在建筑工地中使用这种技术。谢谢...

【问题讨论】:

    标签: php wordpress variables global-variables


    【解决方案1】:

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

    include.php

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

    anyfile.php

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

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

    另一个文件.php

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

    Theory

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

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

    通过此PHP Doc 一次,您将更好地了解它是如何工作的。

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      php.ini register_globals = 开启

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

      【讨论】:

      • 但这太糟糕了。此外,我相信 OP 指的是$post,就像关于博客文章一样。不是 WP 大师,但考虑到他们喜欢全局变量,我不会感到惊讶
      • 是的,这不是一个好的编程。从版本 X 开始在 php 中默认禁用(不记得了)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      • 1970-01-01
      • 1970-01-01
      • 2018-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多