Beh*_*imi 5 provider singleton laravel laravel-5
我有一个 Provider 并且在它的 register 方法中我定义了一个这样的单例,
$this->app->singleton('my.custom.singleton', function ($app) {
$config_value = $app->make($this->config('key'));
return new MyClass($config_value);
});
Run Code Online (Sandbox Code Playgroud)
如您所见,我获得了一个配置值并将其作为参数放入我的类中。
在我项目的另一个地方,我改变了config('key')使用代码的价值:
Config:set('key',$my_changed_value);
我调用了一个方法,MyClass该方法使用我将它发送到上面提供程序中的类的参数。
但MyClass不使用 的新值config('key')。我认为这是因为单例已使用 config 的默认值定义。
我认为如果我可以在分配新的 config 值后重新定义单例就可以了。
或者我的问题有什么解决方案吗?我错了吗?我该怎么做才能使用 中的新值MyClass?
只需分配null给它,它将在下次调用时从头开始创建
app()->instance(PaymentServiceContract::class, null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |