FatalErrorException při config: set.date.timezone
- mancze
- Člen | 58
Pomocí configu bych chtěl nastavovat výchozí timezone pro práci s datem. Proto jsem si do něj zavedl záznam „set.date.timezone“. Config načítám pomocí
Environment::loadConfig(APP_DIR . "/config.ini");
Při takvémto nastavení však dostanu FatalErrorException: Object of class Config could not be converted to string. Dochází k tomu ve třídě Nette/Configurator.php (165):
if (function_exists('ini_set')) {
ini_set($key, $value); // tady $value je instancí Config
} else {
...
}
Nezdá se mi, že by to bylo záměrné chování. Nebo chybuji někde já? Moje revize frameworku je r230.
Editoval mancze (22. 3. 2009 19:10)
- kravčo
- Člen | 721
správne by si do konfigu mal napísať:
set.date-timezone = "Europe/Bratislava" ; všimni si spojovník
Je to z príkladu skeleton…
Je tomu tak, kvôli obmedzenej podpore znakov v názve premennej v novom
INI parseri, ktorý príde myslím až s PHP 5.3, no Nette je naň už
pripravené. V PHP direktívach treba preto namiesto bodky písať
spojovník – Nette názov opraví a funkcii ini_set()
sa už
dostane jej správny názov.
Editoval kravco (22. 3. 2009 20:18)
- David Grudl
- Nette Core | 8228
Upravil jsem chování, bude fungovat i
date.timezone = "Europe/Bratislava"
, viz f31-changelog