| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 20765 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.config.introduction">
- <title>Einleitung</title>
- <para>
- <classname>Zend_Config</classname>
- 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
- <classname>Zend_Config</classname>
- mit
- <link linkend="zend.config.adapters.ini">
- <classname>Zend_Config_Ini</classname>
- </link>
- und
- <link linkend="zend.config.adapters.xml">
- <classname>Zend_Config_Xml</classname>
- </link>
- Adapter für das Einlesen von Daten aus Textfiles zur Verfügung.
- </para>
- <example id="zend.config.introduction.example.using">
- <title>Zend-Config verwenden</title>
- <para>
- In der Regel geht man davon aus, dass Anwender eine der
- Adapter-Klassen wie
- <link linkend="zend.config.adapters.ini">
- <classname>Zend_Config_Ini</classname>
- </link>
- oder
- <link linkend="zend.config.adapters.xml">
- <classname>Zend_Config_Xml</classname>
- </link>
- verwenden. Wenn die Konfigurations-Daten aber als
- <acronym>PHP</acronym>
- Array
- vorliegen, können diese auch einfach an den
- <classname>Zend_Config</classname>
- Constructor übergeben werden, um dann über die objektorientierte
- Schnittstelle auf sie
- zugreifen zu können:
- </para>
- <programlisting language="php"><![CDATA[
- // 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);
- ]]></programlisting>
- </example>
- <para>
- Wie das Beispiel oben zeigt, kann man über
- <classname>Zend_Config</classname>
- auf die
- Konfigurations-Daten aus dem übergebenen Array so zugreifen, wie auf die Eigenschaften
- einer verschachtelten Objekt-Struktur.
- </para>
- <para>
- Zusätzlich zum objektorientierten Zugriff auf die Daten Werte hat
- <classname>Zend_Config</classname>
- <methodname>get()</methodname>
- welches den unterstützten
- Standardwert zurückgibt wenn das Daten Element nicht existiert. Zum Beispiel:
- </para>
- <programlisting language="php"><![CDATA[
- $host = $config->database->get('host', 'localhost');
- ]]></programlisting>
- <example id="zend.config.introduction.example.file.php">
- <title>Zend_Config mit einer PHP Konfigurationsdatei verwenden</title>
- <para>
- Es ist oft gewünscht eine reine
- <acronym>PHP</acronym>
- basierende Konfigurationsdatei
- zu verwenden. Der folgende Code zeigt wie das ganz einfach erreicht
- werden kann:
- </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' => 'geheim',
- 'dbname' => 'mydatabase'
- )
- )
- );
- ]]></programlisting>
- <programlisting language="php"><![CDATA[
- // Konfiguration konsumieren
- $config = new Zend_Config(require 'config.php');
- // Einen Konfigurationswert ausgeben (führt zu 'www.example.com')
- echo $config->webhost;
- ]]></programlisting>
- </example>
- </sect1>
|