Wprowadzenie do Zend Framework

     Nauka Zend Framework

    appendix

     Przewodnik po Zend Framework


  • 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
  • Translation 21.3% Update 2011-11-16 - Revision 24356 - Version ZF 1.11.x

    Rozdział 19. Zend_Config

    19.1. Wprowadzenie

    Klasa Zend_Config została stworzona aby uprościć użycie danych konfiguracyjnych w aplikacjach. Dostarcza ona interfejs bazujący na właściwościach obiektów służący do odczytywania danych konfiguracyjnych wewnątrz kodu aplikacji. Dane konfiguracyjne mogą  pochodzić z różnego rodzaju źródeł, w których dane konfiguracyjne są przechowywane hierarchiczne. Obecnie Zend_Config dostarcza klasy obsługujące dane konfiguracyjne przechowywane w plikach tekstowych: Zend_Config_Ini, oraz Zend_Config_Xml.

    Przykład 19.1. Użycie Zend_Config

    Normalnie jest tak, że użytkownicy użyliby jednej z klas adaptera, takiej jak Zend_Config_Ini czy Zend_Config_Xml, ale dane konfiguracyjne mogą być też dostępne w tablicy PHP. Można w prosty sposób przekazać tablicę do konstruktora Zend_Config w celu uzyskania obiektu zawierającego dane konfiguracyjne:

    // Tablica danych konfiguracyjnych
    $configArray = array(
        
    'webhost'  => 'www.example.com',
        
    'database' => array(
            
    'adapter' => 'pdo_mysql',
            
    'params'  => array(
                
    'host'     => 'db.example.com',
                
    'username' => 'dbuser',
                
    'password' => 'secret',
                
    'dbname'   => 'mydatabase'
            
    )
        )
    );

    // Tworzy obiekt konfiguracji na podstawie danych konfiguracyjnych
    $config = new Zend_Config($configArray);

    // Wyświetlenie wpisu z konfiguracji (wynikiem jest 'www.example.com')
    echo $config->webhost;

    // Użycie danych konfiguracyjnych w celu połączenia się z bazą danych
    $db Zend_Db::factory($config->database->adapter,
                           
    $config->database->params->toArray());

    // Alternartywne użycie: przekazanie obiektu Zend_Config.
    // Metoda kklasy Zend_Db wie jak zinterpretować dane.
    $db Zend_Db::factory($config->database);

    Jak zostało pokazane w powyższym przykładzie, klasa Zend_Config zapewnia składnię zagnieżdżonych właściwości obiektów w celu uzyskania dostępu do danych konfiguracyjnych przekazanych do konstruktora.

    Oprócz zorientowanego obiektowo dostępu do wartości klasa Zend_Config posiada także metodę get() umożliwiającą zwrócenie podanej domyślnej wartości jeśli element nie istnieje. Na przykład:

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

    Przykład 19.2. Użycie Zend_Config z plikiem konfiguracyjnym PHP

    Często wskazane może być użycie do konfiguracji zwykłego pliku PHP. Poniższy kod pokazuje w jak łatwy sposób można to zrobić:

    return array(
        
    'webhost'  => 'www.example.com',
        
    'database' => array(
            
    'adapter' => 'pdo_mysql',
            
    'params'  => array(
                
    'host'     => 'db.example.com',
                
    'username' => 'dbuser',
                
    'password' => 'secret',
                
    'dbname'   => 'mydatabase'
            
    )
        )
    );
    // Załadowanie konfiguracji
    $config = new Zend_Config(require 'config.php');

    // Wyświetlenie danych konfiguracyjnych (powoduje wyświetlenie 'www.example.com')
    echo $config->webhost;

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...