De um modo geral, eu prefiro .ini
ou arquivos de configuração XML. Em sistemas maiores, geralmente alguém que não seja o desenvolvedor precisará alterar um valor de configuração, possivelmente um DBA ou um administrador de sistema. A maioria dos DBAs e administradores de sistemas que conheço não teria nenhum problema em navegar por um script PHP simples, mas eu preferiria que não. Um pequeno erro pode prejudicar todo o aplicativo de várias maneiras.
Mas em sistemas menores, é extremamente conveniente usar scripts PHP para configuração. Eu estava brincando com o AWS SDK hoje, que também usa um script PHP para configuração:
CFCredentials::set(array(
'development' => array(
'key' => 'xxx',
'secret' => 'xxxx',
'default_cache_config' => sys_get_temp_dir(),
'certificate_authority' => true
),
'@default' => 'development'
));
Em vez de codificar a default_cache_config
, estou passando a temperatura do sistema, e isso funcionaria em todos os sistemas em que implantei o script. Esse script é uma pequena prova de conceito que será passada em torno de 10 desenvolvedores, e eu quero que eles o executem como estão, sem ter muito o que pensar. Se o protótipo evoluir, eu o conectarei com a minha classe de configuração XML (e obviamente não contarei com o cache do sistema de arquivos).
relate to one well-defined, portable syntax for configuration
Eu não entendo isso. Os arquivos ini também possuem uma sintaxe bem definida e portátil. Cada.conf.php
arquivo tem sua própria estrutura, a maioria é baseada em array, mas isso não é tão diferente de um arquivo ini.