【发布时间】:2018-06-10 17:58:02
【问题描述】:
我有一个提供者,在它的注册方法中我定义了一个像这样的单例,
$this->app->singleton('my.custom.singleton', function ($app) {
$config_value = $app->make($this->config('key'));
return new MyClass($config_value);
});
如你所见,我得到一个配置值并将其作为参数放入我的类中。
在我项目的另一个地方,我使用代码更改了config('key') 的值:
Config:set('key',$my_changed_value);
然后我调用MyClass 的方法,该方法使用我将其发送到上面提供程序中的类的参数。
但是MyClass 没有使用config('key') 的新值。我认为这是因为单例已使用 config 的默认值定义。
我认为如果我可以在分配新的 config 值后重新定义单例就可以了。
或者我的问题有什么解决方案吗?我错了吗?如何使用MyClass 中的新值?
【问题讨论】:
标签: laravel laravel-5 singleton provider