在php中定义自己的魔术常量?

时间:2013-12-17 08:15:24

标签: php scope constants magic-string

在php中是否存在,通过它我们可以定义我们自己的魔术常量,该值在整个程序中可能会有所不同以及如何使用SUPER GLOBAL SCOPE定义变量。

3 个答案:

答案 0 :(得分:2)

只需将变量添加为Apache环境变量:

SetEnv foo bar

您可以在httpd.confapache2.conf.htaccess中进行设置。然后,PHP应该可以通过以下一种或多种方法访问它:

$_SERVER['foo']
$_ENV['foo']
getenv('foo')

答案 1 :(得分:0)

虽然你可以声明全局变量,但是superglobals仅限于那些在PHP中找到的变量。您可能希望将数据保留为$_SESSION['mysuperglobal'],我建议使用更详细的模式,如配置单例,注册表或依赖注入。

答案 2 :(得分:0)

你无法定义魔法常量而不构建自己的PHP风格。但是你可以通过将所有“魔法”define()放在单独的文件中并将其包含在每个脚本中来使用auto_prepend_file config指令来模仿这一点。不过,如果你认为你需要这样的东西,我会尝试重新思考这种方法。每当“魔法”或“全球”事物发挥作用时,它就表明需要重构。