| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect1 id="zend.config.introduction">
- <title>Введение</title>
- <para>
- <classname>Zend_Config</classname> создан для того, чтобы сделать более
- простым доступ к конфигурационным данным и их использование внутри приложения.
- Он предоставляет основанный на вложенных свойствах объектов пользовательский
- интерфейс для доступа к конфигурационным данным внутри приложения.
- Конфигурационные данные могут храниться на различных носителях информации,
- поддерживающих хранение данных в виде иерархии. На данный момент
- <classname>Zend_Config</classname> предоставляет адаптеры для конфигурационных
- данных, хранящихся в текстовых файлах:
- <link linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link>
- и <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>.
- </para>
- <example id="zend.config.introduction.example.using">
- <title>Использование Zend_Config</title>
- <para>
- Обычно предполагается, что используется один из классов адаптеров, например,
- <link linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link>
- или <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>.
- Но если конфигурационные данные доступны в виде массива
- <acronym>PHP</acronym>,
- то можно передавать эти данные конструктору <classname>Zend_Config</classname>,
- чтобы использовать преимущества простого объектно-ориентированного
- интерфейса.
- </para>
- <programlisting language="php"><![CDATA[
- // Массив конфигурационных данных
- $configArray = array(
- 'webhost' => 'www.example.com',
- 'database' => array(
- 'adapter' => 'pdo_mysql',
- 'params' => array(
- 'host' => 'db.example.com',
- 'username' => 'dbuser',
- 'password' => 'secret',
- 'dbname' => 'mydatabase'
- )
- )
- );
- // Создание объектно-ориентированной обертки для конфигурационных данных
- require_once 'Zend/Config.php';
- $config = new Zend_Config($configArray);
- // Вывод элемента конфигурационных данных (результатом будет 'www.example.com')
- echo $config->webhost;
- // Использование конфигурационных данных для соединения с базой данных
- $db = Zend_Db::factory($config->database->adapter,
- $config->database->params->toArray());
- // Альтернативный способ - просто передавайте объект Zend_Config.
- // Фабрика Zend_Db знает, как его интерпретировать.
- $db = Zend_Db::factory($config->database);
- ]]></programlisting>
- </example>
- <para>
- Как показано в предыдущем примере, в <classname>Zend_Config</classname> для
- доступа к конфигурационным данным, переданным его конструктору,
- используется синтаксис вложенных свойств объектов.
- </para>
- <para>
- Кроме объектно-ориентированного доступа к значениям данных,
- <classname>Zend_Config</classname> также предоставляет метод
- <methodname>get()</methodname>,
- который будет возвращать значение по умолчанию, если элемент
- данных не существует. Например:
- </para>
- <programlisting language="php"><![CDATA[
- $host = $config->database->get('host', 'localhost');
- ]]></programlisting>
- <example id="zend.config.introduction.example.file.php">
- <title>Использование Zend_Config с конфигурационным файлом PHP</title>
- <para>
- Часто требуется использовать конфигурационный файл,
- основанный на "чистом" <acronym>PHP</acronym>. Следующий код
- показывает, как просто этого достичь:
- </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[
- // Использование конфигурации
- $config = new Zend_Config(require 'config.php');
- // Вывод элемента конфигурационных данных (результатом будет 'www.example.com')
- echo $config->webhost;
- ]]></programlisting>
- </example>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|