Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Route - kolejność
MarcinTryka
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 31.03.2007

Ostrzeżenie: (0%)
-----


Witam.
Mam na przykład takie rodzaje linków rodzaje linków

/admin
/admin/:module
/
l/:kategoria
/:kategoria/:podkategoria

W jakiej kolejności dodawać routery żeby te wymienione wcześniej miały "większy priorytet".
Jak Zend_Framework radzi sobie z obsługa adresów pasujących do dwóch wzorców? Uzyje pierwszego dodanego wzorca, czy drugiego?
np wpisuję: strona.pl/admin chciałbym aby w pierwszej kolejnoci użyło routera pierwszego, a nie potraktowało 'admin' jak parametr :kategoria
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




w dokumentacji zenda masz to wszystko opisane. Wystarczy przeczytac. O zwyklej metodzie prob i bledow juz nie wspomne smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
MarcinTryka
post
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 31.03.2007

Ostrzeżenie: (0%)
-----


Cytat
w dokumentacji zenda masz to wszystko opisane. Wystarczy przeczytac. O zwyklej metodzie prob i bledow juz nie wspomne


Czytałem w dokumentacji i nie działa tak u mnie, dlatego tu piszę.
mam taki podział:

  1. <?php
  2. $router->addRoute(
  3.    'default',
  4.    new Zend_Controller_Router_Route(':page1', array('controller' => 'index', 'action' => 'index'))
  5. );
  6. $router->addRoute(
  7.    'default2',
  8.    new Zend_Controller_Router_Route(':page1/:page2', array('controller' => 'index', 'action' => 'index'))
  9. );
  10. $router->addRoute(
  11.    'admin',
  12.    new Zend_Controller_Router_Route('admin', array('module'=>'admin', 'controller' => 'index', 'action' => 'index'))
  13. );
  14. $router->addRoute(
  15.    'admin_modules_controller',
  16.    new Zend_Controller_Router_Route('admin/:module/:controller/', array('module'=>':module','controller'=>':controller','action'=>'index'))
  17. );
  18. ?>

Jeżeli wchodzę pod http://strona.com/admin/ To łapie mi router pierwszy ('default'), jeśli nawet przeniosę router 'admin' przed 'default' to nic się nie zmienia. Skolei jak mam adres: strona.pl/admin/login/ To nie wpada mi w pierwsze routery, ylko wchodzi w admin_modules_controller.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Jeżeli wchodzę pod http://strona.com/admin/ To łapie mi router pierwszy ('default'),

a probowales tak:
  1. <?php
  2. $router->addRoute(
  3.   'admin',
  4.   new Zend_Controller_Router_Route('admin/', array('module'=>'admin', 'controller' => 'index', 'action' => 'index'))
  5. );
  6. ?>

?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
grzana12
post
Post #5





Grupa: Zarejestrowani
Postów: 52
Pomógł: 1
Dołączył: 4.02.2007
Skąd: Kartuzy

Ostrzeżenie: (0%)
-----


Ja mam routery inaczej rozwiązane. A mianowicie mam ok 20 routerów w xml-u. W pętli zrobiłem dodawanie routerów.
  1. <?php
  2. $validRoutes = new Zend_Config_Xml('../application/settings/routes.xml', null);
  3.  
  4. // Adds this routes to router
  5. foreach ($validRoutes as $name => $validRoute) {
  6.    $routeName = $validRoute->defaults->module[0] . '_';
  7.    $routeName .= str_replace('/', '', rtrim($validRoute->route, '/'));
  8.    
  9.    $router->addRoute(
  10.        $name,
  11.        new Zend_Controller_Router_Route(
  12.            $validRoute->route,
  13.            $validRoute->defaults->toArray()
  14.        )
  15.    );
  16. }
  17. ?>


działa to tak jak tego oczekujesz!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 05:31