1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 20765 -->
4 <sect1 id="zend.config.introduction">
5 <title>Introducción</title>
7 <classname>Zend_Config</classname>
8 está diseñado para simplificar el
9 acceso y el uso de datos de configuración dentro de
11 una interfaz de usuario basada en propiedades de objetos anidadas para
12 acceder a datos de configuración dentro del código de la aplicación. Los
14 configuración pueden venir de multitud de medios que soporten
15 almacenamiento de datos de
16 forma jerárquica. Actualmente
17 <classname>Zend_Config</classname>
18 provee adaptadores para datos de
19 configuración que están almacenados en archivos de texto con
20 <link linkend="zend.config.adapters.ini">
21 <classname>Zend_Config_Ini</classname>
24 <link linkend="zend.config.adapters.xml">
25 <classname>Zend_Config_Xml</classname>
29 <example id="zend.config.introduction.example.using">
30 <title>Usando Zend_Config Per Se</title>
32 Normalmente, se espera que los usuarios usen una de las clases
34 <link linkend="zend.config.adapters.ini">
35 <classname>Zend_Config_Ini</classname>
38 <link linkend="zend.config.adapters.xml">
39 <classname>Zend_Config_Xml</classname>
41 , pero si los datos de configuración están disponibles en un
43 <acronym>PHP</acronym>
44 , se puede simplemente pasar los datos
46 <classname>Zend_Config</classname>
48 interfaz simple orientada a objetos:
50 <programlisting language="php"><![CDATA[
51 // Dado un array de datos de configuración
53 'webhost' => 'www.example.com',
55 'adapter' => 'pdo_mysql',
57 'host' => 'db.example.com',
58 'username' => 'dbuser',
59 'password' => 'secret',
60 'dbname' => 'mydatabase'
65 // Crea el objeto a partir de los datos de configuración
66 $config = new Zend_Config($configArray);
68 // Muestra un dato de configuración (resultado: 'www.example.com')
69 echo $config->webhost;
71 // Use los datos de configuración para conectarse a la base de datos
72 $db = Zend_Db::factory($config->database->adapter,
73 $config->database->params->toArray());
75 // Uso alternativo: simplemente pase el objeto Zend_Config.
76 // La Zend_Db factory sabe cómo interpretarlo.
77 $db = Zend_Db::factory($config->database);
81 Como se ilustra en el ejemplo de arriba,
82 <classname>Zend_Config</classname>
83 provee una sintáxis de
84 propiedades de objetos anidados para acceder a datos de configuración
85 pasados a su constructor.
88 Junto al acceso a valores de datos orientado a objetos,
89 <classname>Zend_Config</classname>
90 también tiene el método
91 <methodname>get()</methodname>
92 que devolverá el valor por defecto
93 suministrado si el elemento de datos no existe. Por
96 <programlisting language="php"><![CDATA[
97 $host = $config->database->get('host', 'localhost');
99 <example id="zend.config.introduction.example.file.php">
100 <title>Usando Zend_Config con un Archivo de Configuración PHP</title>
102 A veces, es deseable usar un archivo de configuración puramente
103 <acronym>PHP</acronym>
104 . El código siguiente ilustra cómo podemos
105 conseguir esto fácilmente:
107 <programlisting language="php"><![CDATA[
110 'webhost' => 'www.example.com',
112 'adapter' => 'pdo_mysql',
114 'host' => 'db.example.com',
115 'username' => 'dbuser',
116 'password' => 'secret',
117 'dbname' => 'mydatabase'
122 <programlisting language="php"><![CDATA[
123 // Lectura de la configuración
124 $config = new Zend_Config(require 'config.php');
126 // Muestra un dato de configuración (resultado: 'www.example.com')
127 echo $config->webhost;