2015-09-05 118 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'); 
}