我正在开发一个Laravel软件包,但我无法从服务提供商的register()
方法读取我的配置文件。
如果我尝试'Config::get("package::file.option")
我得到空,
如果我尝试'Config::get("package::file")
我会得到一个空数组。
尽管如此,我还是可以从boot()
方法中读取它们!
以下是我在boot()
方法和文件夹结构中的package()
调用:
// package() call:
$this->package('cerbero/login');
// package directory structure:
/workbench
/cerbero
/login
/src
/Cerbero
/Login
LoginServiceProvider.php
...
/config
main.php
oauth.php
redis.php
我无法直接从register()
读取配置文件,因为$this->app['config']
是由另一个服务提供商提供的。
相反,当我调用绑定方法时,我必须传递一个$app
实例。
例如,这适用于:
$this->app->bind('Something', function($app) {
$config = $app['config']->get('package::file.option');
return new Something($config);
});