PHP设置了一个超全局变量

时间:2014-07-23 17:06:22

标签: php

问题的基础。我的配置文件位于/random_folder/ranom_f/config/_config.php

我希望能够从/random/functions/php/functions.php访问该文件

配置文件并不总是位于/random_folder/random_f/config/_config.php中,所以我必须想办法知道配置文件的位置。

我尝试的解决方案是设置一个超级全局(比如在$ _SERVER中),它提供了我正在创建的软件的“根”。

有没有人有更好的解决方案/知道如何设置这样的超全球?

3 个答案:

答案 0 :(得分:3)

来自Here

静态类变量可以全局引用,例如:

class myGlobals {

   static $myVariable;

}

function a() {

  print myGlobals::$myVariable;

}

答案 1 :(得分:2)

只需定义一个常量。根据定义,这些是超全球(适用于所有范围)

 define('FOO', 'some val');

 function yo() {
     echo FOO;
 }

接下来最好的事情就是使用$GLOBALS(不推荐但也适用于所有范围)

 $foo = 'some val';

 function yo() {
     echo $GLOBALS['foo'];
 }

答案 2 :(得分:1)

我会使用辅助函数。首先,我想你的配置文件路径是相对的东西,对吗?

帮助者:

function get_config_path($params){
 /* code to select the path */
 return 'path'; /* path is a string */
}

在您的main(index.php)文件中:

@include get_config_path($params).'/_config.php'; /* Add your standar config file name */
@include 'functions.php'

/* Use them */

这几乎是主要的想法。

我希望它有所帮助。