Я планировал использовать XML-документ для хранения конфигурации моего следующего PHP-проекта в формате, аналогичном файлам ASP.NET Web.Config. Всего две заботы:
- Невозможно передать в браузер.
- Должен быть жизнеспособным на виртуальном хостинге.
Лучший способ предотвратить его обслуживание — изменить тип файла на PHP и добавить следующий комментарий:
<?xml version="1.0" ?>
<!-- <?php if(!defined('FW_LOADED')){ exit; } ?> -->
<configuration>
....
</configuration>
Это работает нормально, но я не чувствую, что это лучшее решение.
Кто-нибудь еще использовал XML для хранения конфигурации проекта PHP? Какие есть хорошие альтернативные решения (вместо того, чтобы помещать комментарий в начало файла, который выходит из скрипта, если константа не определена)?
Обновление:
Изменено название вопроса, чтобы лучше отражать то, что я ищу. Извините за вводящее в заблуждение название исходного вопроса. Использование XML для конфигурации не вопрос. Я прошу рекомендации по использованию XML для конфигурации. Пожалуйста, перестаньте предлагать мне использовать массивы или INI-файлы...
Я хочу, чтобы файл конфигурации был как можно проще в использовании, даже для разработчиков, не использующих php. Я выбрал XML, потому что он не зависит от языка. Я уже использую SimpleXML для анализа конфигурации (частично). Я также не беспокоюсь о компиляции или ускорении, потому что этого можно добиться с помощью memcached или других утилит.
На данный момент лучшими решениями являются:
- Moving it out of web root.
- Possible, but would like to keep the config as close as possible to the application.
- Using htaccess to hide the config file.
- I don't want to risk the chance that someone breaks the .htaccess file, leaving the config file exposed.
Я хотел бы услышать от кого-то, у кого есть опыт использования XML для параметров конфигурации в приложении, и как они предотвращают обслуживание файла конфигурации.