Coding Samples, Tutorials, Code Snippets, Articles, How-To`s - From Beginners to Expert. Stay tuned.
Share your knowledge. Regardless what experience you have made with the Zend Framework - Let all benefit.

Search Manual:

Please Sign in or Register

Available Languages

 


Manual for Zend Framework 1.0.3

Kapitel 5. Zend_Config

5.1. Einleitung

Zend_Config wurde entworfen um den Zugriff auf und die Verwendung von Konfigurations-Daten zu vereinfachen. Zend_Config 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.

Beispiel 5.1. Zend-Config ohne Adapter benutzen

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-Konstruktor übergeben werden, um dann über die objektorientierte Schnittstelle auf sie zugreifen zu können:

<?php
// 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
require_once 'Zend/Config.php';
$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:

<?php
$host = $config->database->get('host', 'localhost');
    

Beispiel 5.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:

<?php
// 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'
        )
    )
);
<?php
// Konfiguration konsumieren
require_once 'Zend/Config.php';
$config = new Zend_Config(require 'config.php');

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

Welcome!

Welcome to ZFResource - The Resource for the Zend Framework.
As you see, the website is in still in progress. Many features ( like Code Directory, Code Samples, User written Tutorials, Examples and News,...) will be online in near future.
At the moment, you can search and browse the manual in your language of choice. Don't forget to come back later to benefit from the new features.


Help Wanted:

We are still searching for people want to help building this site. If you want to see this website in your language or you have any suggestions for this site please send us an email