Рекомендуемый способ управления данными и настройками глобальной области видимости в PHP?

После нескольких лет разработки PHP я увидел и услышал различные способы хранения «данных глобальной области видимости» (глобальные переменные, константы, файлы ini / XML / YML, базы данных, свойства синглтонов) ...).

Под "данными глобального охвата" я подразумеваю:

  • Конфигурация базы данных
  • Параметры SMTP, FTP
  • Идентификаторы базы данных (например, значения первичных ключей для определенных языков или стран, определенных в базе данных)
  • Глобальные настройки времени выполнения, такие как
    • Включить ведение журнала / отладку
    • Среда - dev / test / prod
  • и т. Д.
  • ... которые не должны изменяться после извлечения и должны быть легко доступны в любой части кода проекта .

    Некоторые глобальные данные, возможно, потребуется сохранить в виде ассоциативного массива (поэтому их нельзя объявить константой).
    Например: форматы даты для каждого языка. Кстати, я видел этот другой вопрос SO о константах массива, но разве нет чего-то более читаемого, чем использование unserialize везде, где требуется значение константы массива?

    Мой главный вопрос: : как вы бы порекомендовали правильно хранить (я имею в виду чистые, читаемые, надежные) данные глобальной области видимости и почему (за / против)?

    Спасибо.

    6
    задан Community 23 May 2017 в 12:14
    поделиться