Ми}{алы4

Блог хеллоуворлдщика

Хранение и работа с конфигурацией приложения используя базу данных в Yii2

23.10.2015 yii2, config

Я был очень удивлен, когда не обнаружил на просторах GitHub и Bitbucket чего-то легкого, простого, и в того же время, мощного расширения для работы с конфигурацией приложения использующее в качестве хранилища параметров базу данных. Ведь не всегда хорошо хранить, например, название сайта в Yii:$app->params[]. Этого, конечно, чаще всего достаточно, но иногда вот такие моменты, как с названием сайта/проекта ставят разработку на "паузу" и"заставляют" продумывать решение. Я и раньше делал нечто подобное для всех своих проектов, но в этот раз я решил, что стоит этому уделить максимум внимания и перестать таскать файлы из проекта в проекта, т.е. моей задачей стало "Сделать модуль конфигурации приложения для Yii2".

Самое главное:

  • модуль не должен быть сложным
  • не должен "заставлять" разработчика юзать непонятно что (только суть)
  • легко расширяться, легко добавлять новые и удалять старые параметры
  • прост в настройке и установке
  • иметь консольные команды для инициализации и реконфигурации параметров
  • мог самостоятельно создавать форму на основе заданных правил и типов полей, которые указываются для каждого параметра индивидуально
  • иметь возможность разделять параметры на модули, где они используются
  • кешировать все это дело для уменьшения нагрузки
  • поддерживать различные значения параметров под каждую из локализации (относится к мультиязычности)
  • не ограничивать какими-то рамками по использованию типу полей (все просто конфигурируется, будь то виджет или обычное текстовое поле)

И опираясь на эти условия появился на свет модуль yii2-config, который прост до безобразия.

А инструкция внутри. ;)

Ссылка на расширение: https://github.com/bupy7/yii2-config