我有一个提供者,在其注册方法中我定义了一个像这样的单身,
$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进行了定义。
我认为如果我在分配新的配置值后重新定义单例就可以了。
或者我的问题有什么解决方案吗?我错了吗?如何在MyClass
中使用新值?
答案 0 :(得分:0)
只需为其分配null
,它将在下一次调用时从头开始创建
app()->instance(PaymentServiceContract::class, null);
答案 1 :(得分:-1)
它可能是相关的配置缓存,你使用配置缓存吗?
清除缓存后可以再试一次吗
df['Status'] = df['Status'].str.strip()