我正在研究Laravel。我对动态更新/添加配置有疑问。让我告诉你我的问题。
我正在使用配置文件中的file_put_content更新/添加项目的全局配置。我有另一种方法,将配置保存到数据库中,然后在登录系统时提取该配置。
哪种方法更好,为什么?
答案 0 :(得分:2)
如果您的数据是静态的,则一种方法是为配置数据维护单独的表,这意味着该数据无需更改。然后创建provider
来获取您的数据并在运行时绑定该数据
public function boot()
{
if (Schema::hasTable('roles')) {
$roles = Role::pluck('name', 'id')->all();
$data = collect($roles)->mapWithKeys(function ($item, $index) {
return [str_slug($item, '_') => $index];
})->all();
config(['configfilename.configkey' => $data]);
}
}
像这样,您可以在运行时获取配置数据