【问题标题】:Set a Top Level or Super Duper Global Variable in PHP?在 PHP 中设置顶级或超级 Duper 全局变量?
【发布时间】:2015-08-14 05:28:43
【问题描述】:

是否可以在 PHP 中创建顶级变量?喜欢在.htaccesshttpd.conf 中定义?要包含在每个.php 文件中?

如果可能的话,我很想在那里定义 BasePaths 和其他一些变量。我目前正在制作一些 init.php 并在每个文件的顶部包含它们。

【问题讨论】:

  • 您可能想要创建一个配置文件,然后让其他所有文件都将其包含在顶部。
  • @StuartWagner,是的,这就是我现在正在做的事情。我觉得这很无聊。
  • 有时候无聊是最好的办法:P
  • @tika,我想还没有。但是,我也会喜欢。

标签: php


【解决方案1】:

当您使用多入口点应用程序时,如果您想避免包含您的配置文件,您可以使用php's autoprepend functionality。这将自动为您包含一个文件,而无需在每个入口点中执行 <?php require('init.php'); ?>

你可以找到good advice here

【讨论】:

  • 如果我们只想包含,这也是一个很好的选择:)
  • 如何实现类似:php_value auto_prepend_file {DOCUMENT_ROOT}."/init.php" .htaccess 文件和init.php 在同一个文件夹中。
  • 给出完整路径php_value auto_prepend_file "/dir/path/utilities.php"
【解决方案2】:

基于上面的 cmets、参考和 this question,我将这个答案发布给社区中的人们未来参考:

设置.htaccess:

SetEnv VAR_NAME varValue

另外,值得一提的是:

SetEnv 'VAR NAME' 'var value' #Accepts Space with Quotes

在 PHP 文件中获取它们:

getenv('VAR_NAME')

更多参考:http://php.net/manual/en/function.getenv.php

如果您只想查看所有文件之上的prepend 文件并在那里定义所有变量,请参阅David Jacquel's 答案。这很酷。 ;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多