3

我正在开发一个 Laravel 包,但我无法从register()我的服务提供商的方法中读取我的配置文件。

如果我尝试\Config::get("package::file.option")我会得到 null,
如果我尝试\Config::get("package::file")我会得到一个空数组。

尽管如此,我可以从方法中读取它们boot()

以下是我package()在方法中的调用boot()和我的文件夹结构:

// package() call:
$this->package('cerbero/login');

// package directory structure:
/workbench
    /cerbero
        /login
            /src
                /Cerbero
                    /Login
                        LoginServiceProvider.php
                        ...
                /config
                    main.php
                    oauth.php
                    redis.php
4

1 回答 1

5

我无法直接从中读取配置文件,register()因为$this->app['config']是由另一个服务提供商提供的。相反,当我调用绑定方法时,
我必须传递一个实例。$app

例如,这有效:

$this->app->bind('Something', function($app) {
    $config = $app['config']->get('package::file.option');
    return new Something($config);
});
于 2013-09-30T19:06:11.153 回答