你好,当我自动加载配置文件时,我对作曲家有问题。
在我的 composer.json 我创建
{
"require": {"monolog/monolog": "1.7.*@dev"},
"autoload":{
"files": ["config/application.config.php"]
}
}
我想自动加载我的配置文件,在我的test.php文件中我放置:
// Get composer autoloading
require 'vendor/autoload.php';
use MonologLogger;
use MonologHandlerStreamHandler;
use MonologHandlerFirePHPHandler;
$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'];
我的 application.config.php 文件包含
/*
* Data paths
*/
$config['cache_dir'] = 'data/cache';
$config['logs_dir'] = 'data/logs';
当我尝试在我的test.php打印值时,我会注意到echo $ config ['logs_dir']。文件是由作曲家成功加载的,但请注意我得到的
注意:undefined变量:$ config in D: Xampp htdocs McF3 index.php在第18行
当作曲家通过 require
包含文件时,它是在功能中这样做的,因此要做:
$config['cache_dir'] = 'data/cache';
在全局范围中没有创建变量。如果您想能够读取/编写全局变量,则应明确使用$GLOBALS
关键字。
$GLOBALS['config']['cache_dir'] = 'data/cache';