2015-09-05 110 views
1

我有一個名爲setting的服務,它從某處獲取用戶的偏好。我需要使用它來配置其他服務。例如,我需要獲取用戶的電子郵件地址電子郵件主機。根據其他服務配置服務

使用'host' => app('setting')['email']['host']),config/mail.php文件中, 不起作用。看起來app()服務在這個階段是不可訪問的。 這樣做的正確方法是什麼?

回答

2

您可以在服務提供商的運行時更改配置。

我們只需使用Laravel隨附的app/Providers/AppServiceProvider。因此,在boot()方法中,您可以對配置進行如下更改:

public function boot() 
{ 
    $this->app->make('config')->set('whatever.config', 'This has changed'); 
}