Nefunguje mi pravděpodobně autoloading na PHP 5.3

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mkoula
Backer | 57
+
0
-

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 :-)

http://www.koula.eu/…44828234.png

http://www.koula.eu/…44861726.png

Ondřej Mirtes
Člen | 1536
+
0
-

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
+
0
-

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…

srigi
Nette Blogger | 559
+
0
-

Mozes skusit aj tento skeleton