Routy – Zkrácení zápisu a zrychlení
- xixixao
- Člen | 5
Zdravím,
potřeboval bych poradit s routama. Válčil jsem s nima už mnohokrát, stále nemůžu do jejich filosofie proniknout (a to sem pročet forum, tutorialy, quickstart apod.). Tady je moje součásná verze pro CMS, ale vím, že o hodně zpomaluje načítání. Moc bych ocenil, kdyby mi někdo poradil jak všechny routy nějak úhledně přepsat a snad tím i zrychlit aplikaci. Díky předem.
<?php
$router[] = new Route('index.php', array(
'presenter' => 'Default',
'action' => 'default',
'id' => '',
), Route::ONE_WAY);
$router[] = new Route('admin', array(
'presenter' => 'Table',
'action' => 'default',
));
$router[] = new Route('upravit/<what>', array(
'presenter' => 'Editor',
'action' => 'edit',
));
$router[] = new Route('vytvorit', array(
'presenter' => 'Editor',
'action' => 'default',
));
$router[] = new Route('prihlaseni', array(
'presenter' => 'Login',
'action' => 'default',
));
$router[] = new Route('soubory', array(
'presenter' => 'FileManager',
'action' => 'default',
));
$router[] = new Route('<page>', array(
'presenter' => 'Default',
'action' => 'default',
'page' => '',
));
?>
- iguana007
- Člen | 970
Ja mam CMSko rozdelene na 2 moduly: Front a Admin a routy vypadaji nasledovne:
$router[] = new Route('admin/<presenter>/<action>/<id>/<id2>', array(
'module' => 'Admin',
'presenter' => 'Base',
'action' => 'default',
'id' => NULL,
'id2' => NULL,
));
$router[] = new Route('<presenter>/<action>/<filtr>/<id>/<id2>', array(
'module' => 'Front',
'presenter' => 'Homepage',
'action' => 'default',
'filtr' => NULL,
'id' => NULL,
'id2' => NULL,
));
Editoval iguana007 (22. 5. 2010 17:03)
- sodae
- Nette Evangelist | 250
xixixao: jestli chceš zachovat strukturu odkazů tak asi tohle je jediná
možnost
ale pokud jde o administraci tak předpokládám že je to jedno o adresu a
tedy jak je ve skeletonu nebo jak psal iguana007
$router[] = new Route('admin/<presenter>/<action>/<id>', array(
'module' => 'Admin',
'presenter' => 'Homepage', // Dashboard?
'action' => 'default',
'id' => NULL
));
- xixixao
- Člen | 5
Díky za odpovědi. Mám ještě jede dotaz k routování, dá se nějak staticky nastavit baseUrl pro linky vytvářené v presenterech? Tohle funguje pro promenou baseUri, kterou pak používám pro adresu stylů a obrázků apod.
<?php
Environment::setVariable('baseUri', "http://nekde.cz/stranky");
?>
Dá se něco podobného nastavit pro linky vytvářené stylem:
<?php
$presenter->link("Default:", $id);
?>
? (vím,že bych to neměl potřebovat, ale teď to holt potřebuju :) )
Díky předem.
P.S.: RewriteBase na to nemá vliv
Editoval xixixao (22. 5. 2010 19:10)
- Foowie
- Člen | 269
Routy prihlaseni, vytvorit a soubory by šly sjednotit s pomocí překladového slovníku nemýlím-li se.