Я планировал использовать XML-документ для хранения конфигурации для моего следующего проекта PHP в формате, аналогичном файлам ASP.NET Web.Config. Всего две проблемы:Рекомендации по использованию конфигурации XML для PHP?
- Невозможно предоставить браузеру.
- Должно быть жизнеспособным в общем хостинге.
Лучше всего я мог думать, чтобы предотвратить его служил, чтобы изменить тип файла в PHP и добавьте следующий комментарий:
<?xml version="1.0" ?>
<!-- <?php if(!defined('FW_LOADED')){ exit; } ?> -->
<configuration>
....
</configuration>
Это работает отлично, но я не чувствую себя это лучшее решение.
Кто-нибудь еще использовал XML для хранения конфигурации для проекта PHP? Какие хорошие альтернативные решения (вместо того, чтобы комментировать в начале файла, который выходит из сценария, если константа не определена)?
Update:
Изменен заголовок вопроса, чтобы лучше отразить то, что я ищу. Извините за вводящий в заблуждение оригинальный заголовок вопроса. Использование XML для конфигурации - не вопрос. Я прошу лучших практик при использовании XML для конфигурации. Пожалуйста, прекратите предлагать, что я использую массивы или файлы INI ...
Я хочу, чтобы конфигурационный файл был максимально простым в использовании, даже для разработчиков не php. Я выбрал XML, потому что он является нейтральным языком. Я уже использую SimpleXML для анализа конфигурации (частично). Я также не беспокоюсь о компиляции или ускорении, поскольку это может быть достигнуто с помощью memcached или других утилит.
Лучшие решения до сих пор являются:
- Перемещение его из веб-корня.
- Возможно, но хотелось бы сохранить конфигурацию как можно ближе к приложению.
- Использование htaccess для скрытия файла конфигурации.
- Я не хочу рисковать возможностью того, что кто-то сломает файл .htaccess, оставив файл конфигурации открытым.
Я хотел бы услышать от кого-то, кто имеет опыт работы с XML для настройки конфигурации в приложении, и как они предотвращают конфигурационный файл из обслуживаемых.
Почему бы не использовать [parse_ini] (http://www.php.net/parse_ini_file), чтобы получить конфигурацию? Он анализирует файл ini и возвращает массив. – 2013-03-30 05:22:16