Zend_Config_Ini
permite a los desarrolladores
almacenar datos de configuración en un formato de datos
INI familiar, y leer de ellos en la aplicación
usando una sintáxis de propiedades de objetos anidados. El formato
INI se especializa en proveer tanto la habilidad
de mantener una jerarquía de claves de datos (data keys) de
configuración como la de mantener una jerarquía entre secciones de datos
de configuración. Las jerarquías de datos de configuración son provistas
separando las claves mediante el carácter punto ( "
. " ). Una sección puede extender o heredar de
otra sección indicando el nombre de la sección seguido de dos puntos ( "
: " ) y el nombre de la sección desde la cual
se quieren heredar los datos.
parse_ini_file
Zend_Config_Ini
utiliza la función
parse_ini_file()
de PHP . Por favor, revise esta
documentación para observar sus comportamientos específicos, que se
propagan a Zend_Config_Ini
, tales como la
forma en que los valores especiales: " TRUE
" ,
" FALSE
" , "yes" , "no" , y
NULL
son manejados.
Separador de clave
Por defecto, el carácter separador de clave es el punto ( "
. " ). Puede ser reemplazado, no
obstante,cambiando la clave de $options
llamada
nestSeparator al construir el objeto
Zend_Config_Ini
. Por ejemplo:
$options['nestSeparator'] = ':'; $config = new Zend_Config_Ini('/path/to/config.ini', 'pruebas', $options);
Ejemplo 117. Utilizando Zend_Config_Ini
Este ejemplo muestra una forma de uso básica de
Zend_Config_Ini
para cargar datos de
configuración de un archivo INI . En este ejemplo
hay datos de configuración tanto para un sistema de producción como
para un sistema en fase de pruebas. Debido a que los datos de la
fase de pruebas son muy parecidos a los de producción, la sección de
pruebas hereda de la sección de producción. En este caso, la
decisión es arbitraria y podría haberse escrito a la inversa, con la
sección de producción heredando de la sección de pruebas, a pesar de
que éste no sería el caso para situaciones más complejas.
Supongamos, entonces, que los siguientes datos de configuración
están contenidos en /path/to/config.ini
: :
; Datos de configuración de la web de producción [produccion] webhost = www.example.com database.adapter = pdo_mysql database.params.host = db.example.com database.params.username = dbuser database.params.password = secret database.params.dbname = dbname ; Los datos de configuración de la fase de pruebas heredan de la producción ; y sobreescribren valores si es necesario [pruebas : produccion] database.params.host = dev.example.com database.params.username = devuser database.params.password = devsecret
Ahora, asuma que el desarrollador de aplicaciones necesita los datos de configuración de la etapa de pruebas del archivo INI . Resulta fácil cargar estos datos especificando el archivo INI en la sección de la etapa de pruebas:
$config = new Zend_Config_Ini('/path/to/config.ini', 'pruebas'); echo $config->database->params->host; // muestra "dev.example.com" echo $config->database->params->dbname; // muestra "dbname"
Nota
Tabla 41. Parámetros del constructor Zend_Config_Ini
Parámetros | Notas |
---|---|
$filename
|
El archivo INI que se va a cargar. |
$section
|
La [sección] contenida en el archivo
INI que se va a cargar. Fijar
este parámetro a NULL cargará
todas las secciones. Alternativamente, se puede
introducir un array de nombres de sección para
cargar multiples secciones. |
$options (default
FALSE ) |
Array de opciones. Las siguientes claves están
aceptadas:
|