Quber
@Quber
PHP Team lead

Какой вариант выборки настроек использовать в php-проекте?

Есть настройки в конфиг. файле. Каким способом лучше всего их выбирать при условии, что количество настроек может быть до 1000? Варианты:

echo $cfg->get('newsImageWidth');
echo $cfg->get('news','image','width');
echo $cfg->get('news')['image']['width']; // php 5.5
// Ваш вариант

Какой вариант используется у Вас / известных Вам CMS?
  • Вопрос задан
  • 2608 просмотров
Решения вопроса 2
@kaasius
Хранить конфигурацию в ini файле.
Использовать parse_ini_file c парсингом секций в отдельные массивы.
Использовать ArrayAccess для доступа к полям конфигурации.
Ответ написан
dmeroff
@dmeroff
Как насчет использования ArrayAccess? В таком случае выборка настроек будет выглядеть так:
echo $cfg['news'];
echo $cfg['news']['image'];
echo $cfg['news']['image']['width'];
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
jakulov
@jakulov
предпочитаю
echo $cfg->get('news.image.width');
Имеем разделение настроек по неймспейсу.
Все настройки в рантайме храним в одном массиве.
При инициализации можно этот массив собирать из нескольких кусков (при необходимости кэшировать, хотя если настройки храняться в php-файле, то достаточно будет кэширования самого скрипта apc, xcache etc).

Если вызываем
$cfg->get('news.image');
получаем полный массив настроек, так иногда удобно, чтобы лишних вызовов функций не было.
Ответ написан
@gro
$cfg->news->image->width
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы