Casi todos los CMS públicos utilizan un archivo de configuración .php para la configuración de la base de datos, etc. Por ejemplo, WordPress crea automáticamente un archivo de configuración .php cuando lo instala.
¿Por qué no solo usan un archivo .ini? PHP ya tiene parse_ini_file () y estoy seguro de que otros lenguajes tienen funciones similares.
fuente
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..ini
archivos para almacenar la configuración, sin duda habría muchas instancias mal configuradas que se ejecutarían donde la configuración fuera de acceso público, lo que generalmente no es algo bueno. Con los archivos PHP, será muy, muy raro que un servidor esté mal configurado para servir el contenido a un visitante.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:
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).fuente
La respuesta es simple: un conf.php tiene básicamente cero trabajo requerido para que funcione. Es solo otro archivo fuente.
fuente
La velocidad sin almacenamiento en caché también puede ser la razón. La configuración de PHP se puede almacenar en caché de código de operación transparente si es necesario. Mientras que el archivo INI debe analizarse cada vez que se lee y debe crear la memoria caché usted mismo. Para archivos pequeños está bien, pero con cientos de líneas analizadas en cada solicitud, puede aumentar a decenas de milisegundos, lo que es bastante para una web optimizada de 200 ms.
fuente