您好我有这个结构:
$GLOBALS['config'] = array(
'mysql' => array(
'host' => 'localhost',
'username' => 'root',
'password' => 'root',
'dbname' => 'database'
),
'session' => array(
'session_name' => 'user'
),
'remember' => array(
'cookie_name' => 'hash',
'cookie_expiry' => 604800
),
'folder' => array(
'root' => 'backend',
'header' => 'head',
'views' => 'views'
),
'database' => array(
'names' => 'utf8mb4',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',
'driver' => 'pdo'
),
'url' => array(
'base_url' => 'http://www.example.com/backend/',
'document_root' => $_SERVER['DOCUMENT_ROOT'] . "/backend"
),
'languages' => array(
'english' => 'en',
'german' => 'de',
'greek' => 'gr'
),
'headers' => array(
'404' => 'HTTP/1.0 404 Not Found',
'401' => 'HTTP/1.0 401 Unauthorized',
'500' => 'HTTP/1.0 500 Internal Server Error',
'403' => 'HTTP/1.0 403 Forbidden'
),
'title' => array(
'login' => 'Admin Dashboard',
'register' => 'Admin Dashboard | User Registration',
)
);
我希望url / base_url像这样
'base_url' => 'http://www.example.com/'.$GLOBALS['config']['folder']['root'].'/'
所以,如果我更改文件夹,我只需要更改名称,但我得到一个语法错误,如:
Notice: Undefined index: config in C:\xampp-php56\htdocs\backend\core\init.php on line 31
我可能想做什么?如果可能的话怎么样?
答案 0 :(得分:2)
在您仍在定义阵列的同时,您无法访问其他阵列索引。您定义数组的语句尚未完成,该数组在初始语句完成之前无法访问。
您需要尽可能多地设置数组,然后返回并添加引用其他数组索引的数组元素。
首先,在没有base_url的情况下,像你一样创建你的大阵列。
$GLOBALS['config'] = array(
...
);
现在返回并添加url / base_url,您现在可以访问config
的数组索引。
$GLOBALS['config']['url']['base_url'] = 'http://www.example.com/'.$GLOBALS['config']['folder']['root'].'/';
答案 1 :(得分:1)
错过了点 'base_url'=> 'http://www.example.com/' 的 强> $ GLOBALS [ '配置'] [ '文件夹'] [ '根'。 '/'