Я создаю веб-приложение в Laravel.
У меня есть много вариантов конфигурации приложения, таких как:
Эти параметры используются во всем приложении и должны быть доступны большую часть времени. Я думаю о наличии таблицы базы данных «config» для хранения и объекта config для доступа к данным … Это было бы хорошим решением? Если нет, как еще я должен это сделать?
Обычно есть две возможности для такой конфигурации:
Какой из них лучше подходит для вашего случая, зависит от:
Почти никогда, тогда иди за файлами.
Довольно часто, затем перейти на БД
Только ваш админ с доступом к CLI / SSH, а затем перейти к файлам.
Большая группа людей, а затем пойти на БД
Если да, то, возможно, вы можете использовать методы обнаружения среды из стандартного Config Laravels
Вообще, я бы оценил, что плоские файлы всегда более производительны и легко масштабируемы.
В моем текущем приложении я использую оба:
Конфиги плоских файлов содержат: лимиты файлов, которые пользователь может загрузить; размер миниатюр по умолчанию; доступные языки; некоторые сторонние токены; почтовые обратные адреса.
Я полагаю, что эти вещи будут меняться только время от времени и всегда нуждаются в моем (административном) вмешательстве в любом случае.
В БД есть таблицы цен на пакеты; условия награждения и связанные с ними вознаграждения.
Эти значения владелец сайта (мой клиент) может легко изменить сам, и они также содержат структурированные метаданные. Например. как вручить награду, как она называется и переводится и т. д.
Других решений пока нет …