Смешанный подход лучше. Вы должны подумать, что лучше для каждого параметра, что в основном сводится к тому, кто изменит каждый параметр для всего сайта.
Если у вас есть сервер разработки и работающий сервер, добавление новых настроек приложения может быть неудобным, если они находятся исключительно в БД. Вам нужно либо обновить базу данных, прежде чем обновлять код, либо сделать так, чтобы весь ваш код обрабатывал ситуацию, когда параметр недоступен. Очевидно, что одной из распространенных настроек в сети является имя базы данных, которое нельзя сохранить в базе данных!
Вы можете легко настроить различные параметры в своей тестовой и реальной среде. Я забрал настройки из БД и в текстовые файлы до сих пор.
Я бы порекомендовал иметь значения по умолчанию в «жестко закодированном» файле, который затем может быть переопределен таблицей поиска пары ключ / значение.
Таким образом, вы можете нажать новый код без предварительного изменения настроек, хранящихся в базе данных.
Если существует различное количество значений или значений, которые всегда изменяются в одно и то же время, я бы сохранял значения в виде JSON или другой сериализованной формы.