Cannot load presenter, soubor ale existuje, na správném namespace
- pidiclovek
- Člen | 91
Ahoj,
dnes se mi prostě nedaří. Laděnka mi hází
Cannot load presenter ‚Front:Shop:Default‘, class ‚FrontModule\ShopModule\DefaultPresenter‘ was not found in ‚C:\var\www\projectname\app/FrontModule/ShopModule/presenters/DefaultPresenter.php‘
Což je docela problém, protože všechny náležitosti okolo jsem si pohlídal a za boha nemohu přijít na problém. Soubor na této cestě existuje. Třída je v namespace ShopModule. Cash jsem promazal tak 100×,což implikuje šílenství, už naprosto netuším, kde mi mohla být chyba, routa pro modul také funguje, jak má:
$router[] = $shopRouter = new RouteList('Front:Shop');
$shopRouter[] = new Route('<lang>/shop/<presenter>/<action>[/<id>]', array(
'lang' => $defaultLang,
'presenter' => 'Default',
'action' => 'default'
));
Nette mám ve verzi 2.0beta2-PHP5.3. Projel jsem desítky vláken tady na
fóru, zbytečné…
Hledaný presenter, který se opravdu nachází na daném místě
v úložišti, vše sedí, včetně velikosti písmenek :(
<?php
namespace ShopModule;
class DefaultPresenter extends \BasePresenter {
public function actionDefault() {
...
}
public function renderDefault(){
...
}
}
Prosím poraďtě, v čem by ještě mohl být zakopaný pes, nesnáším, když člověka brzdí takovéhle hlouposti :)
- nanuqcz
- Člen | 822
pidiclovek napsal(a):
Hledaný presenter, který se opravdu nachází na daném místě v úložišti, vše sedí, včetně velikosti písmenek :(
Ahoj, nesedí ti namespace :-)
Pokud máš RouteList takto:
$router[] = $shopRouter = new RouteList('Front:Shop');
, tak
presenter musíš mít v namespace FrontModule\ShopModule
;-)
namespace FrontModule\ShopModule; // <--zde
class DefaultPresenter extends \BasePresenter {
...
- pidiclovek
- Člen | 91
Ou jééé! :D No s namespace jsem zatím vždy pracoval jen o jedné úrovni, nedošlo mi, že je třeba je vrstvit. Díky moc! Nicméně příspěvek od 22 jsem ne zcela pochopil, co tím chtěl básník říci :)
Editoval pidiclovek (21. 1. 2012 18:47)