你好,当我自动加载我的配置文件时,我有作曲家的问题.
在我的composer.json中,我创建
{
"require": {"monolog/monolog": "1.7.*@dev"},
"autoload":{
"files": ["config/application.config.php"]
}
}
Run Code Online (Sandbox Code Playgroud)
我想自动加载我的配置文件,并在我的test.php文件中我把:
// Get composer autoloading
require 'vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\FirePHPHandler;
$logger = new Logger('my_logger');
$logger->pushHandler(new StreamHandler(__DIR__.'/data/logs/log.log', Logger::DEBUG));
$logger->pushHandler(new FirePHPHandler());
$logger->addInfo('test message');
// test
echo $config['logs_dir'];
Run Code Online (Sandbox Code Playgroud)
我的application.config.php文件包含
/*
* Data paths
*/
$config['cache_dir'] = 'data/cache';
$config['logs_dir'] = 'data/logs';
Run Code Online (Sandbox Code Playgroud)
当我尝试在test.php中打印值调用echo $ config ['logs_dir']时,我会注意到.文件由作曲家加载成功,但请注意我得到的内容
注意:未定义的变量:第18行的D:\ xampp\htdocs\MCF3\index.php中的$ config
当Composer通过require它包含文件时,它是在一个函数中完成的,所以这样做:
$config['cache_dir'] = 'data/cache';
Run Code Online (Sandbox Code Playgroud)
不会在全局范围内创建变量.如果您希望能够读取/写入全局变量,则应明确使用该$GLOBALS关键字.
$GLOBALS['config']['cache_dir'] = 'data/cache';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1193 次 |
| 最近记录: |