5.2. Werkingstheorie
Terug | Hoofdstuk 5. Zend_Config | Volgende

## 5.2. Werkingstheorie

Configuratiedata wordt toegankelijk gemaakt voor de `Zend_Config` constructor via een associatieve array. Deze kan multidimensioneel zijn om het organizeren van de data van alemeen naar specifiek te vergemakkelijken. Er bestaan concrete functies van de hulpklassen om de configuratiedata aan te passen vanuit het bestand om een associatieve array voor de constructor van `Zend_Config` aan te maken. Gebruikerscripts kunnen deze arrays direct doorgeven aan de constructor van `Zend_Config`, zonder een hulpklasse te gebruiken. Dit kan aangewezen zijn in sommige situaties.

`Zend_Config` implementeert de `Countable` en `Iterator` interfaces om eenvoudige toegang tot de configuratiedata te vergemakkeliken. Je kan dus de `count()` functie en PHP constructies zoals `foreach` gebruiken op `Zend_Config` objecten.

Standaard is de configuratiedata die beschikbaar wordt gemaakt via `Zend_Config` read-only, en het toewijzen van een waarde (bv: `$config->database->host = 'example.com'`) resulteert in het opwerpen van een uitzondering (exception). Deze standaardeigenschap kan evenwel worden gewijzigd via de constructor om het wijzigen van waarden toe te staan.

| Opmerking
Het is belangrijk zulke in-memory wijzigingen niet te verwarren met het opslaan van configuratiedata in een specifieke opslagmedia. Werktuigen voor het aanmaken en wijzigen van configuratiedata voor de verschillende opslagmedia worden hier niet besproken, want ze zijn uit het bereik van `Zend_Config`. Open source toepassingen van derden zijn beschikbaar voor het aanmaken en wijzigen van configuratiedata voor verschillende opslagmedia.

Hulpklassen erven van de `Zend_Config` klasse vermits deze haar functionaliteiten gebruiken.

De familie van `Zend_Config` klassen staat de organizatie van configuratiedata in secties toe. `Zend_Config` hulpklasse objecten kunnen een enkele gespecifieerde sectie, verschillende gespecifieerde secties of alle secties (indien er geen sectie werd gespecifieerd) inladen.

`Zend_Config` hulpklassen ondersteunen een enkel ervingsmodel dat een configuratiedata sectie toelaat te erven van een andere sectie. Dit word verstrekt om het verdubbelen van configuratiedata voor verchillende doeleinden te verminderen of the verwijderen. Een ervende sectie kan ook de overgeërfde waarden overschrijven. Net zoals PHP klasse erving kan een sectie van een oudersectie erven, die van een grootouder erft en zo verder, maar veelvoudige overerving (bv: sectie C erft onmiddellijk van oudersecties A en B) wordt niet ondersteund.

Terug | Omhoog | Volgende
Hoofdstuk 5. Zend_Config | Begin | 5.3. Zend_Config_Ini