Rozdělení aplikace na moduly 2.1

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

Zdravím, používám nette 2.1.0 a chtěl bych aplikaci rozdělit na moduly.
Struktura:

-app
	-FrontendModule
		-model
		-presenters
		-templates
	-BackendModule
		-model
		-presenters
		-templates

Router:

$frontendRouter = new RouteList('Frontend');
$frontendRouter[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

Zkoušel jsem namespace Frontend i FrontendModule i bez namesmace, ale přesto si nevým rady a hlásí mi to chybu.

Cannot load presenter 'Frontend:Homepage', class 'App\FrontendModule\HomepagePresenter' was not found in '/var/www/LiteCMS/app/FrontendModule/presenters/HomepagePresenter.php'.

Třída HomepagePresenter je umístěna, nevím proč jí není možné najít.

vvoody
Člen | 910
+
0
-

Máš na jej začiatku

namespace App\FrontendModule;

?

castamir
Člen | 629
+
0
-

Všimni si toho App na začátku…

config.neon

nette:
    application:
        mapping:
            *: App\*Module\*Presenter

router

class RouterFactory
{

        /**
         * @return \Nette\Application\IRouter
         */
        public function createRouter()
        {
                $router = new RouteList();
                $router[] = $module = new RouteList('Admin');
                $module[] = new Route('admin/<presenter>/<action>[/<id>]', 'Homepage:default');
                $router[] = $module = new RouteList('Front');
                $module[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
                $module[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
                return $router;
        }

}

presentery:

namespace App\FrontModule;

use App\BasePresenter as Presenter;

class SignPresenter extends Presenter
{

}

Mělo by být jedno, kde ty reentery v rámci složky app/ máš. Já je mám v App/modules/module_name a submoduly vždy ve složkách typu App/modules/module_name/modules/submodul_name/

Hurass
Člen | 114
+
0
-

Díky moc, vyřešeno, akorát se zeptám, jaký namespace mají mýt jednotlivé modely v modulech?

Editoval Hurass (21. 1. 2014 20:53)

Jiří Nápravník
Člen | 710
+
+1
-

Tj čistě na tobě, ale je dobrým zvykem kopírovat adresářovou strukturu.