Почти каждая общедоступная CMS использует файл конфигурации .php для настроек базы данных и так далее. Например, WordPress автоматически создает файл конфигурации .php при его установке.
Почему они просто не используют файл .ini? PHP уже имеет parse_ini_file (), и я уверен, что другие языки имеют аналогичные функции.
источник
relate to one well-defined, portable syntax for configuration
Я не понимаю этого. INI-файлы также имеют четко определенный и переносимый синтаксис. Каждый.conf.php
файл имеет свою собственную структуру, большинство основано на массивах, но это не так сильно отличается от INI-файла..ini
файлы для хранения конфигурации, без сомнения, было бы много неправильно настроенных экземпляров, работающих там, где конфигурация была общедоступной, что, как правило, не очень хорошая вещь. В случае файлов PHP очень и очень редко сервер будет неправильно настроен для предоставления его содержимого посетителю.Вообще говоря, я предпочитаю
.ini
или XML-файлы конфигурации. В более крупных системах часто кому-то, кроме разработчика, необходимо изменить значение конфигурации, возможно, администратора баз данных или системного администратора. У большинства администраторов баз данных и системных администраторов, которых я знаю, не было бы проблем с навигацией по простому сценарию PHP, но я бы предпочел, чтобы они этого не делали. Одна маленькая ошибка может нанести вред всему приложению несколькими способами.Но в небольших системах чрезвычайно удобно использовать PHP-скрипты для конфигурации. Сегодня я играл с AWS SDK , который также использует PHP-скрипт для конфигурации:
Вместо жесткого кодирования
default_cache_config
я передаю системную температуру, и это будет работать в каждой системе, в которой я развертываю сценарий. Этот сценарий является небольшим подтверждением концепции, которую передадут около 10 разработчиков, и я хочу, чтобы они запустили его как есть, не задумываясь. Если прототип будет развиваться, я буду связывать его с моим классом конфигурации XML (и, очевидно, не буду полагаться на кэш файловой системы).источник
Ответ прост: у conf.php практически нет работы, необходимой для его работы. Это просто еще один исходный файл.
источник
Скорость без кеширования также может быть причиной. Конфигурация PHP может прозрачно кэшироваться при необходимости. Принимая во внимание, что INI-файл должен анализироваться каждый раз, когда он читается, и вам необходимо создать кеш самостоятельно. Для небольших файлов это нормально, но с сотнями строк, анализируемых при каждом запросе, он может возрасти до десятков миллисекунд, что довольно много для оптимизированной сети 200 мс.
источник