#laravel #laravel-5
#laravel #laravel-5
Вопрос:
Я работаю над Laravel. У меня есть вопросы о динамическом обновлении / добавлении конфигурации. Позвольте мне ответить на мой вопрос.
Я обновляю / добавляю глобальную конфигурацию своего проекта, используя file_put_content в файле конфигурации. У меня есть другой способ, сохранить конфигурацию в базе данных и извлечь эту конфигурацию во время входа в систему.
Какой способ лучше использовать и почему?
Комментарии:
1. Не храните настройки conf внутри файла conf …. должны быть только «настройки по умолчанию», а все пользовательские настройки должны быть внутри файла .env. Затем вы можете сохранить файл .env в БД
Ответ №1:
один из способов — сохранить отдельную таблицу для конфигурационных данных, если ваши данные статичны, значит, в этих данных ничего не нужно менять. а затем создайте 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]);
}
}
Таким образом, вы можете получить свои конфигурационные данные во время выполнения