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 |
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.