Nefinguje Auto-loading tříd

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

Dobrý den,
mám nette 2.0.13 a php 5.5.6.
Problém je ten že my nefunguje Auto-loading do jedné složky konkrétně se my nechce načíst složka „app“ kde mám soubor „fusion.php“ nechápu proč. Ostatní složky a soubory třeba jako libs se načtou normálně.
Zde jsou kódy
index kde načítám ty složky:

include 'libs/Nette/loader.php';
$loader = new Nette\Loaders\RobotLoader;
// přidáme adresáře, které má RobotLoader indexovat
$loader->addDirectory('libs');
$loader->addDirectory('app');
// nastavíme cachování na disk do adresáře 'temp'
$loader->setCacheStorage(new Nette\Caching\Storages\FileStorage('temp'));
$loader->register(); // spustíme RobotLoader

A zde je „fusion.php“ kterej je ve sloce „app“

include '../libs/Nette/loader.php';
$loader = new Nette\Loaders\RobotLoader;
// nastavíme cachování na disk do adresáře 'temp'
$loader->setCacheStorage(new Nette\Caching\Storages\FileStorage('../temp'));
$loader->register(); // spustíme RobotLoader

Děkuji za jakoukoliv radu ;).

David Matějka
Moderator | 6445
+
0
-

robot loader neprochazi ty slozky a neinkluduje vsechno v nich.

robot loader pouze projde slozky, proskenuje soubory, najde tridy a vytvori si seznam trida=>soubor, aby vedel, co ma inkludnout, kdyz budes chtit urcitou tridu

a nevim, co ma ten fusion.php za vyznam :)

Editoval matej21 (4. 12. 2013 20:50)

batneby
Člen | 18
+
0
-

ten „fusion.php“ má vedlejší význam nic v něm není protože jsem ho nakodoval když jsem zjistil že ho to nenačte ;).
Co mám teda udělat aby to ten soubor indexovalo mám tam vytvořil třídy?

enumag
Člen | 2118
+
0
-

Ne, ten soubor fusion.php smaž a řekni nám co ti to hlásí za chybu. Pokud to hází že class … not found tak se podívej jestli v názvu třídy nebo namespacu nemáš typo, zkus smazat cache, …

batneby
Člen | 18
+
0
-

Když ho smažu tak to nepíše žádnou chybu.

David Matějka
Moderator | 6445
+
0
-

takze vse ok? nebo ceho se snazis dosahnout?

batneby
Člen | 18
+
0
-

Snažím se dosáhnout toho aby sem my soubor „fusion.php“ automaticky načítal ;)

enumag
Člen | 2118
+
0
-

To nelze. Musíš si ho ručně requirnout. Ale naprosto nechápu k čemu je dobrej když v něm akorát duplikuješ kód z bootstrapu – to ti bude akorát házet výjimky. Proč ten kód prostě nenecháš v bootstrapu kam patří a vymejšlíš tohle?

batneby
Člen | 18
+
0
-

Ale ne v tom souboru „fusion.php“ maj být scripty aplikace asi jsem ho blbě pojmenoval.

David Matějka
Moderator | 6445
+
0
-

co to jsou „scripty aplikace“? nejaky funkce?

batneby
Člen | 18
+
0
-

Jo

David Matějka
Moderator | 6445
+
0
-

funkce napriklad na co?

pokud trvas na tom, ze to budes mit jako klasicky fce, tak se o loading budes muset postarat rucne.
lepsi je ale si ty fce dat jako staticky do nejaky tridy a robot loader se ti postara o autoloading

batneby
Člen | 18
+
0
-

Tet tě nějak nechápu.

David Matějka
Moderator | 6445
+
0
-

co v tom souboru ma byt za funkce?