Explicitní určení priority rout
- akadlec
- Člen | 1326
Je v nette nějaká možnost definovat prioritu/pořadí registrovaných rout? Mám appku rozdělenou na moduly, využívám k registrování routeru flame/module vše je ok. Jenže problém je ten že si nejdříve zaregistruji systémovou extension a ta zaregistruje systémové routy a pak se registrují další moduly. A když vytvořím routu podobnou systémové tak je odchycena právě ní. Takže bych potřeboval nějak určit že ty routy zaregistrované v systémovém modulu jsou vždy na konci.
- Jiří Nápravník
- Člen | 710
Používám taky flame/module a drive to fungovalo tusim, tak jak jsi chtel, ted po tech poslednich urpavach ne a vadilo mi to taky. Tak jsem si vytvoril jeste jednu extension, ktera ma v sobe jen systemovy router a je uplne nakonci:-)
- Michal Vyšinský
- Člen | 608
Ahoj, také používám RouteProvidery (ale ne ty z flames). Priorita rout mě docela štvala, zvlášť, když chce člověk udělat automatickou registraci extensions z composeru. Nakonec jsem se smířil s ručním přidáním jednotlivých providerů do configu v pořadí jakém chci – je to ta nejvíc transparentní možnost. Služba se tedy zaregistruje do kontejneru z extension, ale aktivovat ji musím ručně:
framework:
routing:
providers:
- @App\Services\DefaultRouteProviderService
- @AnnotateCms\Backend\Routing\BackendRouteProvider
Editoval Michal Vyšinský (8. 10. 2014 10:16)
- akadlec
- Člen | 1326
Takže pro ty co používají Flame\Modules jsem udělal fix pull a teď se dá priorita jednotlivých routerů nastavovat pomocí tagu. Nevím zda je to 100% správné řešení ale mě to funguje.
v neonu:
services:
systemModule.moduleRouter:
class: IPub\SystemModule\Router\ModuleRouterFactory
tags: [flame.modules.router = 1]
systemModule.webImagesRouter:
class: IPub\SystemModule\Router\WebImagesRouterFactory
tags: [flame.modules.router = 2]
Nižší číslo znamená nižší priorita a tak budou routy z tohoto routeru registrovány jako poslední. Pokud se číslo nepoužije tak se použije výchozí priorita 100.
Editoval akadlec (8. 10. 2014 18:01)