问题的基础。我的配置文件位于/random_folder/ranom_f/config/_config.php
我希望能够从/random/functions/php/functions.php访问该文件
配置文件并不总是位于/random_folder/random_f/config/_config.php中,所以我必须想办法知道配置文件的位置。
我尝试的解决方案是设置一个超级全局(比如在$ _SERVER中),它提供了我正在创建的软件的“根”。
有没有人有更好的解决方案/知道如何设置这样的超全球?
答案 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 */
这几乎是主要的想法。
我希望它有所帮助。