获取包配置文件作为数组

时间:2015-03-02 15:18:49

标签: laravel laravel-4 command-line-interface

当我写:

$config->get('database');

...我得到了app/config/database.php的全部内容。如何对属于包的配置文件做同样的事情?

app/config/packages/vendor/package/somefile.php)的内容。

注意:我正在使用CLI环境,我手动加载框架。

// composer (Laravel) bootstrap
require_once 'bootstrap/autoload.php';

/* @var $app \Illuminate\Foundation\Application */
$app = require_once 'bootstrap/start.php';

$config = $app->make('config');

print_r($config->get('my-package::config'));

2 个答案:

答案 0 :(得分:1)

在Laravel 4软件包配置中,它的软件包名称空间可以访问。这通常是包名本身:

$config->get('package::somefile');

由于显然无法在不执行$app->run()的情况下访问config命名空间,因此您可以手动加载配置文件。它不是最漂亮的解决方案,但会完成这项工作:

$packageConfig = require app_path('config/packages/vendor/package/somefile.php');

答案 1 :(得分:0)

您可以通过运行:

来初始化框架(至少是有趣的部分)
$app->boot();

完成此步骤后,将正确初始化 Config存储库。因此,设置最小CLI环境(不运行应用程序)的正确方法是:

// composer (Laravel) bootstrap
require_once 'bootstrap/autoload.php';

/* @var $app \Illuminate\Foundation\Application */
$app = require_once 'bootstrap/start.php';
$app->boot();

之后,可以通过常规方式访问包配置文件:

$config = $app->make('config');

print_r($config->get('my-package::config'));