当我写:
$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'));
答案 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'));