获取包配置文件作为数组

Get a package configuration file as an array

当我写的时候:

$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'));

在 Laravel 4 中,包配置通过其 包命名空间 访问。这通常是包名称本身:

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

显然,如果不执行 $app->run() 就无法访问配置命名空间,您可以手动加载配置文件。这不是最漂亮的解决方案,但可以完成工作:

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

您可以通过 运行:

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

完成此步骤后,配置存储库 已正确初始化。因此,设置最小 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'));