Module ve složce Presenter nefungují
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- john.jaros.me
- Člen | 5
Ahoj,
zkouším si aplikaci rozdělit na moduly, ale háže mi to chybovou
hlášku:
Cannot load presenter ‚Frontend:Homepage‘, class
‚App\Presenters\FrontendModule\HomepagePresenter‘ was not found.
Struktura:
- app
- config
- forms
- model
- presenters
- FrontendModule
BasePresenter.php
HomepagePresenter.php
- FrontendModule
- router
- templates
- FrontendModule
- Homepage
default.latte
- Layouts
@frontend.latte
- Homepage
- FrontendModule
config.neon
application:
errorPresenter: Frontend:Error
mapping:
*: App\Presenters\*Module\*Presenter
RouterFactory.php
/**
* @return Nette\Application\IRouter
*/
public static function createRouter()
{
$router = new RouteList;
$front = new RouteList('Frontend');
$front[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
$router[] = $front;
$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
return $router;
}
BasePresenter.php
namespace FrontendModule;
use Nette;
abstract class BasePresenter extends Nette\Application\UI\Presenter {
public function __construct() {
parent::__construct();
}
}
HomepagePresenter.php
namespace FrontendModule;
use Nette,
App\Model;
class HomepagePresenter extends BasePresenter {
public function renderDefault() {
}
}
Prolezl jsem už x příspěvků, ale problém se mi nepodařil vyřešit.
Díky! :)
- john.jaros.me
- Člen | 5
CZechBoY napsal(a):
Na adresarovy struktore nezalezi, zalezi na namespacu.
Rozhodni se jestli chces FrontModule/ nebo App/presenters/FrontModule a pak uprav bud mapovani nebo namespace presenteru.
Neměl bys prosím praktický příklad? Chtěl bych App\Presenters\FrontendModule*Presenter