update DOC-ES
[zend.git] / documentation / manual / es / module_specs / Zend_Config-Introduction.xml
blob36badd8c885abe04d59ceccada6415a46710a4d6
1 <?xml version="1.0" encoding="UTF-8"?>
2     <!-- EN-Revision: 20765 -->
3     <!-- Reviewed: no -->
4 <sect1 id="zend.config.introduction">
5     <title>Introducción</title>
6     <para>
7         <classname>Zend_Config</classname>
8         está diseñado para simplificar el
9         acceso y el uso de datos de configuración dentro de
10         aplicaciones. Provee
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
13         datos de
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>
22         </link>
23         y
24         <link linkend="zend.config.adapters.xml">
25             <classname>Zend_Config_Xml</classname>
26         </link>
27         .
28     </para>
29     <example id="zend.config.introduction.example.using">
30         <title>Usando Zend_Config Per Se</title>
31         <para>
32             Normalmente, se espera que los usuarios usen una de las clases
33             adaptadoras como
34             <link linkend="zend.config.adapters.ini">
35                 <classname>Zend_Config_Ini</classname>
36             </link>
37             o
38             <link linkend="zend.config.adapters.xml">
39                 <classname>Zend_Config_Xml</classname>
40             </link>
41             , pero si los datos de configuración están disponibles en un
42             array
43             <acronym>PHP</acronym>
44             , se puede simplemente pasar los datos
45             al constructor
46             <classname>Zend_Config</classname>
47             para utilizar una
48             interfaz simple orientada a objetos:
49         </para>
50         <programlisting language="php"><![CDATA[
51 // Dado un array de datos de configuración
52 $configArray = array(
53     'webhost'  => 'www.example.com',
54     'database' => array(
55         'adapter' => 'pdo_mysql',
56         'params'  => array(
57             'host'     => 'db.example.com',
58             'username' => 'dbuser',
59             'password' => 'secret',
60             'dbname'   => 'mydatabase'
61         )
62     )
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);
78 ]]></programlisting>
79     </example>
80     <para>
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.
86     </para>
87     <para>
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
94         ejemplo:
95     </para>
96     <programlisting language="php"><![CDATA[
97 $host = $config->database->get('host', 'localhost');
98 ]]></programlisting>
99     <example id="zend.config.introduction.example.file.php">
100         <title>Usando Zend_Config con un Archivo de Configuración PHP</title>
101         <para>
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:
106         </para>
107         <programlisting language="php"><![CDATA[
108 // config.php
109 return array(
110     'webhost'  => 'www.example.com',
111     'database' => array(
112         'adapter' => 'pdo_mysql',
113         'params'  => array(
114             'host'     => 'db.example.com',
115             'username' => 'dbuser',
116             'password' => 'secret',
117             'dbname'   => 'mydatabase'
118         )
119     )
121 ]]></programlisting>
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;
128 ]]></programlisting>
129     </example>
130 </sect1>