| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.config.introduction">
- <title>Introducción</title>
- <para>
- <classname>Zend_Config</classname>
- está diseñado para simplificar el
- acceso y el uso de datos de configuración dentro de
- aplicaciones. Provee
- una interfaz de usuario basada en propiedades de objetos anidadas para
- acceder a datos de configuración dentro del código de la aplicación. Los
- datos de
- configuración pueden venir de multitud de medios que soporten
- almacenamiento de datos de
- forma jerárquica. Actualmente
- <classname>Zend_Config</classname>
- provee adaptadores para datos de
- configuración que están almacenados en archivos de texto con
- <link linkend="zend.config.adapters.ini">
- <classname>Zend_Config_Ini</classname>
- </link>
- y
- <link linkend="zend.config.adapters.xml">
- <classname>Zend_Config_Xml</classname>
- </link>
- .
- </para>
- <example id="zend.config.introduction.example.using">
- <title>Usando Zend_Config Per Se</title>
- <para>
- Normalmente, se espera que los usuarios usen una de las clases
- adaptadoras como
- <link linkend="zend.config.adapters.ini">
- <classname>Zend_Config_Ini</classname>
- </link>
- o
- <link linkend="zend.config.adapters.xml">
- <classname>Zend_Config_Xml</classname>
- </link>
- , pero si los datos de configuración están disponibles en un
- array
- <acronym>PHP</acronym>
- , se puede simplemente pasar los datos
- al constructor
- <classname>Zend_Config</classname>
- para utilizar una
- interfaz simple orientada a objetos:
- </para>
- <programlisting language="php"><![CDATA[
- // Dado un array de datos de configuración
- $configArray = array(
- 'webhost' => 'www.example.com',
- 'database' => array(
- 'adapter' => 'pdo_mysql',
- 'params' => array(
- 'host' => 'db.example.com',
- 'username' => 'dbuser',
- 'password' => 'secret',
- 'dbname' => 'mydatabase'
- )
- )
- );
- // Crea el objeto a partir de los datos de configuración
- $config = new Zend_Config($configArray);
- // Muestra un dato de configuración (resultado: 'www.example.com')
- echo $config->webhost;
- // Use los datos de configuración para conectarse a la base de datos
- $db = Zend_Db::factory($config->database->adapter,
- $config->database->params->toArray());
- // Uso alternativo: simplemente pase el objeto Zend_Config.
- // La Zend_Db factory sabe cómo interpretarlo.
- $db = Zend_Db::factory($config->database);
- ]]></programlisting>
- </example>
- <para>
- Como se ilustra en el ejemplo de arriba,
- <classname>Zend_Config</classname>
- provee una sintáxis de
- propiedades de objetos anidados para acceder a datos de configuración
- pasados a su constructor.
- </para>
- <para>
- Junto al acceso a valores de datos orientado a objetos,
- <classname>Zend_Config</classname>
- también tiene el método
- <methodname>get()</methodname>
- que devolverá el valor por defecto
- suministrado si el elemento de datos no existe. Por
- ejemplo:
- </para>
- <programlisting language="php"><![CDATA[
- $host = $config->database->get('host', 'localhost');
- ]]></programlisting>
- <example id="zend.config.introduction.example.file.php">
- <title>Usando Zend_Config con un Archivo de Configuración PHP</title>
- <para>
- A veces, es deseable usar un archivo de configuración puramente
- <acronym>PHP</acronym>
- . El código siguiente ilustra cómo podemos
- conseguir esto fácilmente:
- </para>
- <programlisting language="php"><![CDATA[
- // config.php
- return array(
- 'webhost' => 'www.example.com',
- 'database' => array(
- 'adapter' => 'pdo_mysql',
- 'params' => array(
- 'host' => 'db.example.com',
- 'username' => 'dbuser',
- 'password' => 'secret',
- 'dbname' => 'mydatabase'
- )
- )
- );
- ]]></programlisting>
- <programlisting language="php"><![CDATA[
- // Lectura de la configuración
- $config = new Zend_Config(require 'config.php');
- // Muestra un dato de configuración (resultado: 'www.example.com')
- echo $config->webhost;
- ]]></programlisting>
- </example>
- </sect1>
|