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');
}