1
我有一個名爲setting
的服務,它從某處獲取用戶的偏好。我需要使用它來配置其他服務。例如,我需要獲取用戶的電子郵件地址電子郵件主機。根據其他服務配置服務
使用'host' => app('setting')['email']['host']),
在config/mail.php
文件中, 不起作用。看起來app()服務在這個階段是不可訪問的。 這樣做的正確方法是什麼?
我有一個名爲setting
的服務,它從某處獲取用戶的偏好。我需要使用它來配置其他服務。例如,我需要獲取用戶的電子郵件地址電子郵件主機。根據其他服務配置服務
使用'host' => app('setting')['email']['host']),
在config/mail.php
文件中, 不起作用。看起來app()服務在這個階段是不可訪問的。 這樣做的正確方法是什麼?
您可以在服務提供商的運行時更改配置。
我們只需使用Laravel隨附的app/Providers/AppServiceProvider
。因此,在boot()
方法中,您可以對配置進行如下更改:
public function boot()
{
$this->app->make('config')->set('whatever.config', 'This has changed');
}