Zend_Config_Ini permite a los desarrolladores almacenar datos de configuración en un
formato INI familiar y leerlos en la aplicación usando la sintaxis anidada
de propiedades de objeto. El formato INI está especializado para proporcionar tanto
la capacidad de tener una jerarquía de claves de datos de configuración como herencia entre
secciones de datos de configuración. Las jerarquías de datos de configuración se admiten separando las
claves con el carácter de punto ("."). Una sección puede extender o
heredar de otra sección siguiendo el nombre de la sección con un carácter de dos puntos
(":) y el nombre de la sección de la que se heredarán los datos.
![]() |
Analizando el archivo INI |
|---|---|
|
![]() |
Separador de claves |
|---|---|
|
Por defecto, el carácter separador de claves es el carácter de punto
("."). Sin embargo, esto se puede cambiar modificando la
clave nestSeparator de
$options['nestSeparator'] = ':';
$config = new Zend_Config_Ini('/path/to/config.ini',
'staging',
$options);
|
Ejemplo 21.3. Uso de Zend_Config_Ini
Este ejemplo ilustra un uso básico de Zend_Config_Ini para
cargar datos de configuración desde un archivo INI. En este ejemplo hay
datos de configuración tanto para un sistema de producción como para un sistema de staging. Debido a
que los datos de configuración del sistema de staging son muy similares a los de producción, la
sección de staging hereda de la sección de producción. En este caso, la decisión es
arbitraria y podría haberse escrito al revés, con la sección de producción
heredando de la sección de staging, aunque esto podría no ser el caso en situaciones
más complejas. Suponga, entonces, que los siguientes datos de configuración están contenidos en
/path/to/config.ini:
; Production site configuration data [production] 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 ; Staging site configuration data inherits from production and ; overrides values as necessary [staging : production] database.params.host = dev.example.com database.params.username = devuser database.params.password = devsecret
A continuación, suponga que el desarrollador de la aplicación necesita los datos de configuración de staging del archivo INI. Es sencillo cargar estos datos especificando el archivo INI y la sección de staging:
$config = new Zend_Config_Ini('/path/to/config.ini', 'staging');
echo $config->database->params->host; // prints "dev.example.com"
echo $config->database->params->dbname; // prints "dbname"
![[Note]](images/note.png)