Nefunguje mi pravděpodobně autoloading na PHP 5.3
- mkoula
- Backer | 57
Stáhl jsem si včera Nette Framweork pro PHP5.3 posléze i nightbuild.
Mám Mac OS 10.6 s PHP 5.3.1, na serveru mám FreeBSD 8 taktéž s PHP
5.3.1. Oboje na Apachi 2.2.
Když načítám loader jak z Nette nebo i z minified verze, tak mi
to hlásí:
Fatal error: Class ‚Debug‘ not found in /Users/mIREK/www/koula_eu/www/app/bootstrap.php on line xx
Jakoukoli trídu z Nette co zavolám tak hlásí se stejnou chybou.
Pokud tam ovšem nahraju verzi pro PHP 5.2, tak to funguje bez problému…
Nemáte někdo ponětí čím by to mohlo být?
Tady jsou náhledy PHPInfo v PNG, ale jsou krapet větší, takže bacha :-)
- Ondřej Mirtes
- Člen | 1536
To není žádný bug, to je o tom, že verze pro PHP 5.3 znamená, že
vše má svůj jmenný prostor (namespace). Pokud si nahraješ verzi pro PHP
5.3, tak musíš začít všude uvádět třídy ve
tvaru Nette\Debug::enable();
Viz taky Jak nejlépe na PHP 5.3 a namespaces.
Ale verze pro PHP 5.2 (bez namespaces) je na PHP 5.3 plně funkční.
Editoval Ondřej Mirtes (11. 2. 2010 12:26)
- mkoula
- Backer | 57
Díky moc.
No já neříkám, že by to byl BUG. Spíše by se stálo by za to asi o tom nějak viditelně napsat do dokumentace. Jde o volovinu, ale čekal jsem, že třeba „Laděnka“ bude vyřešena i nějak bez namespace nebo aspoň nějaká hláška… Takhle člověk hledá všechno ostatní okolo a tohle mu nedoťukne :-) A nebyl jsem sám, zkoušeli jsme i checker atp. a nic…