What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
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.
Example 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()