| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15103 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.config.adapters.ini">
- <title>Zend_Config_Ini</title>
- <para>
- <classname>Zend_Config_Ini</classname>
- 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 (
- <methodname>.</methodname>
- ). Una sección puede extender o heredar de otra sección
- indicando el nombre de la sección seguido de dos puntos (
- <methodname>:</methodname>
- ) y el nombre de la sección desde la cual se quieren heredar los
- datos.
- </para>
- <note>
- <title>parse_ini_file</title>
- <para>
- <classname>Zend_Config_Ini</classname>
- utiliza la función
- <ulink url="http://php.net/parse_ini_file">
- <methodname>parse_ini_file()</methodname>
- </ulink>
- de PHP. Por favor, revise esta documentación para observar
- sus comportamientos específicos, que se propagan a
- <classname>Zend_Config_Ini</classname>
- , tales como la forma en que los valores especiales:
- <methodname>true</methodname>
- ,
- <methodname>false</methodname>
- ,
- <methodname>yes</methodname>
- ,
- <methodname>no</methodname>
- , y
- <constant>NULL</constant>
- son manejados.
- </para>
- </note>
- <note>
- <title>Separador de clave</title>
- <para>
- Por defecto, el carácter separador de clave es el punto (
- <methodname>.</methodname>
- ). Puede ser reemplazado, no obstante,cambiando la clave de
- <methodname>$options</methodname>
- llamada
- <methodname>'nestSeparator'</methodname>
- al construir el objeto
- <classname>Zend_Config_Ini</classname>
- . Por ejemplo:
- <programlisting language="php"><![CDATA[
- $options['nestSeparator'] = ':';
- $config = new Zend_Config_Ini('/path/to/config.ini',
- 'pruebas',
- $options);
- ]]></programlisting>
- </para>
- </note>
- <example id="zend.config.adapters.ini.example.using">
- <title>Utilizando Zend_Config_Ini</title>
- <para>
- Este ejemplo muestra una forma de uso básica de
- <classname>Zend_Config_Ini</classname>
- 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
- <methodname>/path/to/config.ini</methodname>
- :
- </para>
- <programlisting language="ini"><![CDATA[
- ; 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
- ]]></programlisting>
- <para>
- 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:
- </para>
- <programlisting language="php"><![CDATA[
- $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"
- ]]></programlisting>
- </example>
- <note>
- <table id="zend.config.adapters.ini.table">
- <title>Parámetros del constructor Zend_Config_Ini</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Parámetros</entry>
- <entry>Notas</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <methodname>$filename</methodname>
- </entry>
- <entry>
- El archivo INI que se va a cargar.
- </entry>
- </row>
- <row>
- <entry>
- <methodname>$section</methodname>
- </entry>
- <entry>
- 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.
- </entry>
- </row>
- <row>
- <entry>
- <methodname>$options = false</methodname>
- </entry>
- <entry>
- Array de opciones. Las siguientes claves
- están aceptadas:
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>
- allowModifications
- </emphasis>
- : Fijar a
- <emphasis>true</emphasis>
- para permitir modificaciones
- subsiguientes del archivo
- cargado. Por defecto es
- <emphasis>false</emphasis>
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>
- nestSeparator
- </emphasis>
- : Carácter que utilizar como
- separador de anidamiento. Por
- defecto es "."
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </note>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|