En general, prefiero .ini
los archivos de configuración XML. En sistemas más grandes, a menudo alguien que no sea el desarrollador necesitará cambiar un valor de configuración, posiblemente un DBA o un administrador de sistemas. La mayoría de los DBA y administradores de sistemas que conozco no tendrían ningún problema para navegar a través de un simple script PHP, pero preferiría que no lo hicieran. Un pequeño error allí puede dañar toda la aplicación de varias maneras.
Pero en sistemas más pequeños, es extremadamente conveniente usar scripts PHP para la configuración. Hoy estaba jugando con el SDK de AWS , que también usa un script PHP para la configuración:
CFCredentials::set(array(
'development' => array(
'key' => 'xxx',
'secret' => 'xxxx',
'default_cache_config' => sys_get_temp_dir(),
'certificate_authority' => true
),
'@default' => 'development'
));
En lugar de codificar a default_cache_config
, estoy pasando la temperatura del sistema, y eso funcionaría en cada sistema que implemente el script. Este script es una pequeña prueba de concepto que se pasará a unos 10 desarrolladores, y quiero que lo ejecuten tal cual, sin tener mucho en qué pensar. Si el prototipo evoluciona, lo conectaré con mi clase de configuración XML (y obviamente no dependeré del caché del sistema de archivos).
relate to one well-defined, portable syntax for configuration
No entiendo eso. Los archivos ini también tienen una sintaxis portátil y bien definida. Cada.conf.php
archivo tiene su propia estructura, la mayoría se basan en matrices, pero eso no es tan diferente a un archivo ini.