[2009-03-27] Rozšíření syntaxe INI souborů
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- David Grudl
- Nette Core | 8227
Syntaxe konfiguračních INI souborů byla rozšířena. Jednak je možné v názvech sekcí používat tečku a vytvářet tak podsekce:
; dříve
[production]
database.params.host = db.example.com
database.params.username = dbuser
database.params.password = secret
; nyní
[production.database.params]
host = db.example.com
username = dbuser
password = secret
Oba zápisy jsou ekvivalentní. Toto velkým způsobem přispívá k čitelnosti INI souborů, mimojiné i proto, že lze použít více sekcí (resp. podsekcí). Dokonce je možné podsekce dědit:
[production.test < production.database]
host = localhost
V rámci sekce lze vypnout dělení klíčů pomocí tečky. Tečky tak budou zachovány jako součást klíče. Vypnutí se provede vykřičníkem za názvem sekce:
[common.set!]
date.timezone = "Europe/Prague"
iconv.internal_encoding = UTF-8
mbstring.internal_encoding = UTF-8
Jak už naznačuje příklad, dá se toho využít právě pro zápis ini_set direktiv, které v sobě tečky často obsahují.
Také je možné vytvářet indexovaná pole (tj. neasociativní):
[production]
items[] = 10
items[] = 20
items[] = 30