Zend Framework содержит синтаксический анализ, который анализирует файлы, написанные в формате ini (Zend_Config_Ini), похоже, что это то, что вы используете.
Конфигурационный файл не должен находиться в корне вашего документа, а если его нет в корне вашего документа, тогда не требуются правила перезаписи, так как никто не может получить к нему доступ в любом случае.
Формат INI специализируется на обеспечении как возможности иерархии ключей данных конфигурации, так и наследования между разделами данных конфигурации. Иерархии данных конфигурации поддерживаются путем разделения ключей на символ точки или периода (.). Раздел может расширяться или наследоваться из другого раздела, следуя имени раздела с символом двоеточия (:) и именем раздела, из которого данные должны быть наследованы.
От Zend_Config_Ini страница.
Zend Framework использует его, чтобы позволить вам иметь несколько параметров конфигурации, один для этапа, один для разработки и один для производства. Это также позволяет легко настраивать параметры базы данных для производства, а также для разработки и иметь две очень разные настройки. Различные пути, установленные в файле ini, где они расположены, находятся. Это значительно облегчает переход кода от разработки к производству, зная, что сразу все, что является развитием, будет отключено.
Конечно, это возможно с помощью PHP-скрипта, но для этого потребуется более синтаксический разбор различных переменных конфигурации, а также выполнение if/then проверок, тогда как использование parse_ini_file() делает все это для вас автоматически.
Другие ответы также уже указывали на то, что не программистам может потребоваться изменить переменные и/или что-то на веб-сайте, который задан как переменная конфигурации (например, название сайта, которое используется в макете сайтов). Файлы INI легко понять и прочитать даже для тех, кто никогда не программировался раньше.
Пример с сайта Сейчас я работаю на:
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.db.adapter = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users.db"
resources.view[] =
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-testing.db"
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-dev.db
Это делает его очень легко иметь несколько наборов данных для различных сред, в которых код может быть запущен.
Было еще несколько вопросов, подобных этому, например, есть некоторая релевантная информация здесь: http://stackoverflow.com/questions/798654/how-to-store-configurations-for-php-app-xml- or-ini-or-db –