[MANUAL] English:
[zend.git] / documentation / manual / ru / module_specs / Zend_Config-Introduction.xml
blob389534dd65dc21b35d146368cccfe1f7f677b9ad
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <sect1 id="zend.config.introduction">
4     <title>Введение</title>
5     <para>
6         <classname>Zend_Config</classname> создан для того, чтобы сделать более
7         простым доступ к конфигурационным данным и их использование внутри приложения.
8         Он предоставляет основанный на вложенных свойствах объектов пользовательский
9         интерфейс для доступа к конфигурационным данным внутри приложения.
10         Конфигурационные данные могут храниться на различных носителях информации,
11         поддерживающих хранение данных в виде иерархии. На данный момент
12         <classname>Zend_Config</classname> предоставляет адаптеры для конфигурационных
13         данных, хранящихся в текстовых файлах:
14         <link linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link>
15         и <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>.
16     </para>
17     <example id="zend.config.introduction.example.using">
18         <title>Использование Zend_Config</title>
19         <para>
20             Обычно предполагается, что используется один из классов адаптеров, например,
21             <link linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link>
22             или <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>.
23             Но если конфигурационные данные доступны в виде массива
24             <acronym>PHP</acronym>,
25             то можно передавать эти данные конструктору <classname>Zend_Config</classname>,
26             чтобы использовать преимущества простого объектно-ориентированного
27             интерфейса.
28         </para>
29         <programlisting language="php"><![CDATA[
30 // Массив конфигурационных данных
31 $configArray = array(
32     'webhost'  => 'www.example.com',
33     'database' => array(
34         'adapter' => 'pdo_mysql',
35         'params'  => array(
36             'host'     => 'db.example.com',
37             'username' => 'dbuser',
38             'password' => 'secret',
39             'dbname'   => 'mydatabase'
40         )
41     )
44 // Создание объектно-ориентированной обертки для конфигурационных данных
45 require_once 'Zend/Config.php';
46 $config = new Zend_Config($configArray);
48 // Вывод элемента конфигурационных данных (результатом будет 'www.example.com')
49 echo $config->webhost;
51 // Использование конфигурационных данных для соединения с базой данных
52 $db = Zend_Db::factory($config->database->adapter,
53                        $config->database->params->toArray());
55 // Альтернативный способ - просто передавайте объект Zend_Config.
56 // Фабрика Zend_Db знает, как его интерпретировать.
57 $db = Zend_Db::factory($config->database);
58 ]]></programlisting>
59     </example>
60     <para>
61         Как показано в предыдущем примере, в <classname>Zend_Config</classname> для
62         доступа к конфигурационным данным, переданным его конструктору,
63         используется синтаксис вложенных свойств объектов.
64     </para>
65     <para>
66         Кроме объектно-ориентированного доступа к значениям данных,
67         <classname>Zend_Config</classname> также предоставляет метод
68         <methodname>get()</methodname>,
69         который будет возвращать значение по умолчанию, если элемент
70         данных не существует. Например:
71     </para>
72     <programlisting language="php"><![CDATA[
73 $host = $config->database->get('host', 'localhost');
74 ]]></programlisting>
75     <example id="zend.config.introduction.example.file.php">
76         <title>Использование Zend_Config с конфигурационным файлом PHP</title>
77         <para>
78             Часто требуется использовать конфигурационный файл,
79             основанный на "чистом" <acronym>PHP</acronym>. Следующий код
80             показывает, как просто этого достичь:
81         </para>
82         <programlisting language="php"><![CDATA[
83 // config.php
84 return array(
85     'webhost'  => 'www.example.com',
86     'database' => array(
87         'adapter' => 'pdo_mysql',
88         'params'  => array(
89             'host'     => 'db.example.com',
90             'username' => 'dbuser',
91             'password' => 'secret',
92             'dbname'   => 'mydatabase'
93         )
94     )
95 );]]></programlisting>
96         <programlisting language="php"><![CDATA[
97 // Использование конфигурации
98 $config = new Zend_Config(require 'config.php');
100 // Вывод элемента конфигурационных данных (результатом будет 'www.example.com')
101 echo $config->webhost;
102 ]]></programlisting>
103     </example>
104 </sect1>
105 <!--
106 vim:se ts=4 sw=4 et: