使变量可用于所有类、方法、函数和包含,就像 $_POST 一样

2024-01-05

这个问题看起来很简单,但我在任何地方都找不到答案......

在我的 php 脚本/文件的开头,我想创建一个变量。

$variable = 'this is my variable';

我希望这个变量在整个脚本中可用,以便所有类、方法、函数、包含的脚本等都可以简单地将此变量称为 $variable。

Class MyClass
{
  public function showvariable()
  {
     echo $variable;
  }
}

$_SESSION、$_POST、$_GET 变量的行为都是如此。我只需编写一个方法并使用 $_POST 就可以了。但是如果我使用我在脚本开头定义的 $variable,它会显示“注意:未定义的变量:变量在...”,当我编写函数而不是类方法时,它甚至会这样说。 。

我试着写

global $variable = 'this is my variable';

但随后脚本无法加载... “HTTP 错误 500(内部服务器错误):服务器尝试满足请求时遇到意外情况。”

如何使变量像 $_POST 一样真正全局可访问?

我为什么需要这个?我特别计划将其用作表单令牌。在页面顶部,我将表单令牌生成为 $token,在页面底部,我将其存储在会话中。在处理任何表单之前,我会检查 SESSION 令牌是否与 POST 令牌匹配...并且由于我经常在页面上有多个表单(顶部导航中的登录表单,主体中的注册表单),我只是想让它方便并且在每个表单上调用 $token。有时我的表单元素是由类或函数生成的,但它们无法识别该变量并说它未定义。


我找到了...-.-我以为这很容易...

我必须使用调用该变量

$GLOBALS['variable'];

刚刚找到了……终于……http://php.net/manual/en/reserved.variables.globals.php http://php.net/manual/en/reserved.variables.globals.php

EDIT大概8个月后:

我刚刚了解了常数!

define('name', 'value');

他们只是无法重新分配... 我想我也可以用它!http://www.php.net/manual/en/language.constants.php http://www.php.net/manual/en/language.constants.php

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使变量可用于所有类、方法、函数和包含,就像 $_POST 一样 的相关文章

随机推荐