Introduction to 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
  • Translation 96.1% Update 2010-11-28 - Revision 23448 - Version ZF 1.11.x

    Chapter 21. Zend_Config

    21.1. Einleitung

    Zend_Config wurde entworfen um den Zugriff auf und die Verwendung von Konfigurations-Daten zu vereinfachen. Es stellt diese Konfigurations-Daten innerhalb der Applikation über eine verschachtelte Objekt-Struktur zur Verfügung. Die Konfigurations-Daten können aus verschiedenen Datenquellen gelesen werden, die hierarchische Datenspeicherung unterstützen. Derzeit stellt Zend_Config mit Zend_Config_Ini und Zend_Config_Xml Adapter für das Einlesen von Daten aus Textfiles zur Verfügung.

    Example 21.1. Zend-Config verwenden

    In der Regel geht man davon aus, dass Anwender eine der Adapter-Klassen wie Zend_Config_Ini oder Zend_Config_Xml verwenden. Wenn die Konfigurations-Daten aber als PHP Array vorliegen, können diese auch einfach an den Zend_Config Constructor übergeben werden, um dann über die objektorientierte Schnittstelle auf sie zugreifen zu können:

    // Gegeben ist ein Array mit Konfigurations-Daten
    $configArray = array(
        
    'webhost'  => 'www.example.com',
        
    'database' => array(
            
    'adapter' => 'pdo_mysql',
            
    'params'  => array(
                
    'host'     => 'db.example.com',
                
    'username' => 'dbuser',
                
    'password' => 'secret',
                
    'dbname'   => 'mydatabase'
            
    )
        )
    );

    // Erstelle das objektorientierte Interface zum Datenzugriff
    $config = new Zend_Config($configArray);

    // Gebe einen Eintrag aus (Ausgabe ist 'www.example.com')
    echo $config->webhost;

    // Konfigurations-Daten benutzen, um eine Datenbank-Verbindung her zu stellen
    $db Zend_Db::factory($config->database->adapter,
                           
    $config->database->params->toArray());

    // Alternative Verwendung: einfach das Zend_Config Objekt übergeben.
    // Zend_Db factory weiß wie es zu interpretieren ist.
    $db Zend_Db::factory($config->database);

    Wie das Beispiel oben zeigt, kann man über Zend_Config auf die Konfigurations-Daten aus dem übergebenen Array so zugreifen, wie auf die Eigenschaften einer verschachtelten Objekt-Struktur.

    Zusätzlich zum objektorientierten Zugriff auf die Daten Werte hat Zend_Config get() welches den unterstützten Standardwert zurückgibt wenn das Daten Element nicht existiert. Zum Beispiel:

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

    Example 21.2. Zend_Config mit einer PHP Konfigurationsdatei verwenden

    Es ist oft gewünscht eine reine PHP basierende Konfigurationsdatei zu verwenden. Der folgende Code zeigt wie das ganz einfach erreicht werden kann:

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

    // Einen Konfigurationswert ausgeben (führt zu 'www.example.com')
    echo $config->webhost;

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...