| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <sect1 id="zend.config.adapters.xml">
- <title>Zend_Config_Xml</title>
- <para>
- <code>Zend_Config_Xml</code> staat programmeurs toe om configuratiedate in een eenvoudig
- XML bestand op te slaan en deze via geneste objecteigenschap syntax te lezen. Het root
- element van het XML bestand is irrelevant en kan een willekeurige naam hebben. Het eerste
- niveau van de XML elementen komt overeen met configuratiedata secties. Het XML formaat
- ondersteunt hiërarchische organisatie via geneste XML elementen onder de sectieniveau
- elementen. De inhoud van het laagste XML element komt overeen met de waarde van een
- configuratiedata element. Sectie overerving wordt ondersteund via een speciaal XML
- attribuut genaamd <code>extends</code>, en de waarde van dit attribuut komt overeen met de
- naam van de sectie waarvan de data moet worden overgeërfd door de uitbreidende sectie.
- </para>
- <note>
- <title>Teruggeef type</title>
- <para>
- Configuratiedata die door <code>Zend_Config_Xml</code> word ingelezen wordt altijd als
- string terug gegeven. Omzetting van data van strings naar andere types wordt aan de
- programmeur overgelaten om aan hun specifieke behoeften te voldoen.
- </para>
- </note>
- <example id="zend.config.adapters.xml.example.using">
- <title>Zend_Config_Xml gebruiken</title>
- <para>
- Dit voorbeeld illustreert een basisgebruik van <code>Zend_Config_Xml</code> voor het
- inladen van configuratiedata vanuit een XML bestand. In dit voorbeeld vind je
- configuratiedata voor zowel een productiesysteem als een preproductiesysteem. Omdat
- de preproductiesysteem configuratiedata sterk overeenkomt met de productieserver
- configuratiedata, erft de preproductieserver sectie van de productie sectie. In dit
- geval is de beslissing willekeurig en zou dit andersom kunnen worden geschreven, de
- productieserver sectie zou erven van de preproductieserver sectie, alhoewel het niet
- het geval zou kunnen zijn in meer complexe situaties. Veronderstel dan dat de volgende
- configuratiedata in <code>/path/to/config.xml</code> staat:
- </para>
- <programlisting role="xml"><![CDATA[<?xml version="1.0"?>
- <configdata>
- <productie>
- <webhost>www.example.com</webhost>
- <database>
- <type>pdo_mysql</type>
- <host>db.example.com</host>
- <username>dbuser</username>
- <password>secret</password>
- <name>dbname</name>
- </database>
- </productie>
- <preproductie extends="productie">
- <database>
- <host>dev.example.com</host>
- <username>devuser</username>
- <password>devsecret</password>
- </database>
- </preproductie>
- </configdata>]]></programlisting>
- <para>
- Veronderstel vervolgens dat de programmeur de preproductie configuratiedata van het
- XML bestand nodig heeft. Het is eenvoudig om die data in te laden door het XML bestand
- en de preproductie sectie te specifiëren:
- </para>
- <programlisting role="php"><![CDATA[<?php
- require_once 'Zend/Config/Xml.php';
- $config = new Zend_Config_Xml('/path/to/config.xml', 'preproductie');
- echo $config->database->host; // geeft "dev.example.com"
- echo $config->database->name; // geeft "dbname"]]></programlisting>
- </example>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|