Kapitel 9. Konfigurationsdateien
Konfigurationsdateien sind ein praktischer Weg um Template-Variablen
aus einer gemeinsamen Datei zu lesen. Ein Beispiel sind die
Template-Farben. Wenn Sie die Farben einer Applikation anpassen
wollen, müssen Sie normalerweise alle Templates durcharbeiten,
und die entsprechenden Werte ändern. Mit einer
Konfigurationsdatei können Sie alle Definitionen in einer
einzigen Datei vornehmen, und somit auch einfach ändern.
Beispiel 9-1. Beispiel der Konfigurationsdatei-Syntax # global variables
pageTitle = "Main Menu"
bodyBgColor = #000000
tableBgColor = #000000
rowBgColor = #00ff00
[Customer]
pageTitle = "Customer Info"
[Login]
pageTitle = "Login"
focus = "username"
Intro = """Diese Zeile erstreckt sich über
mehrere Zeilen, und muss deswegen
mit dreifachen Anführungszeichen
umschlossen werden."""
# hidden section
[.Database]
host=my.example.com
db=ADDRESSBOOK
user=php-user
pass=foobar |
|
Die Werte in einer
Konfigurationsdatei können in einfachen/doppelten
Anführungszeichen notiert werden. Falls Sie einen Wert haben der
sich über mehrere Zeilen ausbreitet muss dieser Wert in
dreifachen Anführungszeichen (""") eingebettet werden. Die
Kommentar-Syntax kann frei gewählt werden, solange sie nicht der
normalen Syntax entsprechen. Wir empfehlen die Verwendung von
# (Raute) am Anfang jeder Kommentar-Zeile.
Dieses Beispiel hat 2 'sections'. 'section'-Namen werden von
[]-Zeichen umschlossen und können alle Zeichen ausser
[ und ] enthalten. Die vier
Variablen welche am Anfang der Datei definiert werden sind globale
Variablen. Diese Variablen werden immer geladen. Wenn eine
definierte 'section' geladen wird, werden also die globalen
Variablen ebenfalls eingelesen. Wenn eine Variable sowohl global als
auch in einer 'section' vorkommt, wird die 'section'-Variable
verwendet. Wenn zwei Variablen in der gleichen 'section' den selben
Namen aufweisen wird die Letztere verwendet, es sei denn $config_overwrite ist
deaktiviert ('false').
Konfigurationsdateien werden mit config_load
geladen.
Sie können Variablen oder auch ganze 'sections' verstecken indem
Sie dem Namen ein '.' voranstellen. Dies ist besonders wertvoll wenn
Ihre Applikation sensitive Informationen aus der Konfigurationsdatei
liest welche von der Template-Engine nicht verwendet werden. Falls
eine Drittpartei eine Änderung an der Konfigurationsdatei
vornimmt können Sie so sicherstellen, dass die sensitiven Daten
nicht in deren Template geladen werden können.
Siehe auch: {config_load}, $config_overwrite, get_config_vars(), clear_config() und config_load()