Я считаю Zend_Config
хорошим решением. Вы можете загрузить конфигурацию из простого массива , из файла стиля INI или из XML-документа . Какой бы объект вы ни выбрали, объект конфигурации остается одним и тем же, поэтому вы можете свободно переключать форматы хранения. Zend_Config
объекты также могут быть объединены, в зависимости от вашего приложения это может быть полезно (конфигурация сервера, затем конфигурация для каждого сайта / установки).
Как и большинство (или всех) вещей в Zend Framework, вы можете легко использовать Zend_Config
сам по себе.
Учитывая эффективность , я бы сказал, что самым быстрым методом будет использование массива, поскольку для этого требуется меньше (в данном случае нет) разбора строк. Однако формат INI / XML может быть легче для некоторых поддерживать. Конечно, некоторое кеширование даст вам лучшее из обоих миров.
Кроме того, использование файлов INI с Zend_Config
позволяет вам определять разделы конфигураций, которые наследуются друг от друга. Чаще всего используется раздел «разработка», который наследуется от раздела «производство», а затем переопределяет параметры БД / отладки.
Что касается безопасности , сохранение файла конфигурации вне корня сети является первым шагом. Если сделать его доступным только для чтения, а ограничение доступа может сделать его более безопасным; однако, в зависимости от конфигурации вашего хостинга / сервера, вы можете быть ограничены в том, что там можно сделать.