Введение в Zend Framework

 Learning Zend Framework

appendix

 Zend Framework Reference


  • Zend_Gdata
  • Zend_Http
  • Zend_InfoCard
  • Zend_Json
  • Zend_Layout
  • Zend_Ldap
  • Zend_Loader
  • Zend_Locale
  • Zend_Log
  • Zend_Mail
  • Zend_Markup
  • Zend_Measure
  • Zend_Memory
  • Zend_Mime
  • Zend_Navigation
  • Zend_Oauth
  • Zend_OpenId
  • Zend_Paginator
  • Zend_Pdf
  • Zend_ProgressBar
  • Zend_Queue
  • Zend_Reflection
  • Zend_Registry
  • Zend_Rest

  • Zend_Search_Lucene
  • Zend_Serializer
  • Zend_Server
  • Zend_Service
  • Zend_Session
  • Zend_Soap
  • Zend_Tag
  • Zend_Test
  • Zend_Text
  • Zend_TimeSync
  • Zend_Tool
  • Zend_Tool_Framework
  • Zend_Tool_Project
  • Zend_Translate
  • Zend_Uri
  • Zend_Validate
  • Zend_Version
  • Zend_View
  • Zend_Wildfire
  • Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Ttranslation 27.4% Update 2010-11-28 - Revision 23238 - Version ZF 1.11.x

    Глава 21. Zend_Config

    21.1. Введение

    Zend_Config создан для того, чтобы сделать более простым доступ к конфигурационным данным и их использование внутри приложения. Он предоставляет основанный на вложенных свойствах объектов пользовательский интерфейс для доступа к конфигурационным данным внутри приложения. Конфигурационные данные могут храниться на различных носителях информации, поддерживающих хранение данных в виде иерархии. На данный момент Zend_Config предоставляет адаптеры для конфигурационных данных, хранящихся в текстовых файлах: Zend_Config_Ini и Zend_Config_Xml.

    Пример 21.1. Использование Zend_Config

    Обычно предполагается, что используется один из классов адаптеров, например, Zend_Config_Ini или Zend_Config_Xml. Но если конфигурационные данные доступны в виде массива PHP, то можно передавать эти данные конструктору Zend_Config, чтобы использовать преимущества простого объектно-ориентированного интерфейса.

    // Массив конфигурационных данных
    $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);

    Как показано в предыдущем примере, в Zend_Config для доступа к конфигурационным данным, переданным его конструктору, используется синтаксис вложенных свойств объектов.

    Кроме объектно-ориентированного доступа к значениям данных, Zend_Config также предоставляет метод get(), который будет возвращать значение по умолчанию, если элемент данных не существует. Например:

    $host $config->database->get('host''localhost');

    Пример 21.2. Использование Zend_Config с конфигурационным файлом PHP

    Часто требуется использовать конфигурационный файл, основанный на "чистом" PHP. Следующий код показывает, как просто этого достичь:

    // 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'
            
    )
        )
    );
    // Использование конфигурации
    $config = new Zend_Config(require 'config.php');

    // Вывод элемента конфигурационных данных (результатом будет 'www.example.com')
    echo $config->webhost;

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...