作曲家自动加载文件返回未定义的变量



你好,当我自动加载配置文件时,我对作曲家有问题。

在我的 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';

相关内容

  • 没有找到相关文章

最新更新