Как реализовать глобальный доступ к конфигу приложения?
Доброго времени суток, господа.
Есть директория, в которой определяются файлы с конфигурационными данными, каждый файл содержит массив. При помощи функции glob() я объединяю все конфигурационные массивы в один общий массив, и всё это размещается в единой точке входа приложения.
Т.е. итоговый массив с настройками помещается в файл index.php $settings = getSettings();
Разумеется, данная переменная не будет входить в область видимости всех вызываемых в приложении классов (которые будут вызываться роутером, после объявления этой переменной). Соответственно, её необходимо глобализовать. Наиболее подходящее на мой взгляд решение - определение константу, в которую помещается итоговый массив.
define('SETTINGS', getSettings());
Таким образом, конфиги видны глобально, но при этом в них нельзя залезть. Это правильная мысль, или есть более корректное решение?
FanatPHP, ситуация комичная. Пишу проектик для одного человека, впоследствии нужно будет подробно объяснить ему как это работает. Объяснить ему принцип внедрения зависимостей будет сложно.
Xveeder, а чего сложного во внедрении если мы по сути передаем низкоуровневый обьект внутрь более высокоуровнего (ассоциация-агрегация) и далее высокоуровневый им пользуется? Или я что то не то понимаю судя по этой статье? https://designpatternsphp.readthedocs.io/ru/latest...