Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozne konfiguracje routingu dla kazdego elementu aplikacji
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Witam co myslicie o definiowaniu routingu kazdego elementu ktory owy routing moze posiadac jako osobny plik i includowac je do glownego routingu?
https://docs.djangoproject.com/en/1.3/topic...-other-urlconfs

Ja widze w tym 2 pro:
-pozadek w routingu
-wiadomo jaki element edytujemy
-wieksza elastycznosc

Co o tym myslicie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


No dzieki ci bardzo @!*! mam jedno pytanie, tez mam statyczne i dynamiczne reguly routingu:
  1. $configs['delimiter'] = ',';
  2. $configs['self'] = '/';
  3.  
  4. $configs['static_routes'] = array(
  5. 'Contact' => 'Home,Contact',
  6. 'About' => 'Home,About',
  7. 'rss' => 'Home,Index,rss'
  8. );
  9.  
  10. $configs['dynamic_routes'] = array(
  11. 0 => array(
  12. 'pattern' => '/^page\,[0-9]{1,4}$/D',
  13. 'frontcontroller' => 'Home',
  14. 'frontaction' => 'Index',
  15. 'cmpaction' => 'Index'
  16. ),
  17.  
  18. 1 => array(
  19. 'pattern' => '/^[0-9]{1,4}$/D',
  20. 'frontcontroller' => 'Home',
  21. 'frontaction' => 'Index',
  22. 'cmpaction' => 'readNews'
  23. )
  24. );
  25.  
  26. return $configs;

Jak widac mam 2 reguly dynamiczne naleza one do komponentu news.
Linki tworze za pomoca nr segmentu z url czyli mam metode:
  1. $this -> uri -> getSegment(3); //pobierze 4 segment(news od id 400) dla url index.php/Home,Index,readNews,400

Majac taka regule link do wpisu wyglada index.php/400
Wszystko u mnie dziala, doszedlem jednak do wniosku ze jesli zmienie reguly routingu potrzebna bedzie tez zmiana tworzenia linkow, czyli ktory segment ma pobierac defaultowo jest to segment 4 a po dynamicznym routingu mam segment nr 0.
Za kazdym razem musze ingerowac w kod widoku(tam gdzie tworze odnosniki do wpisu) jak mozna takie cos osiagnac autmatycznie?
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(marcio @ 1.05.2012, 15:50:53 ) *
  1. $this -> uri -> getSegment(3); //pobierze 4 segment(news od id 400) dla url index.php/Home,Index,readNews,400

Majac taka regule link do wpisu wyglada index.php/400
Wszystko u mnie dziala, doszedlem jednak do wniosku ze jesli zmienie reguly routingu potrzebna bedzie tez zmiana tworzenia linkow, czyli ktory segment ma pobierac defaultowo jest to segment 4 a po dynamicznym routingu mam segment nr 0.
Za kazdym razem musze ingerowac w kod widoku(tam gdzie tworze odnosniki do wpisu) jak mozna takie cos osiagnac autmatycznie?


Właśnie dlatego zrezygnowałem z tego typu zadań obliczania pozycji po URI, bo wprowadza to niepotrzebny zamęt. Routing jest stały, nie zmieniasz go w żaden sposób dynamiczne, dlatego u mnie wystarczy napisać:

  1. 'page(add|del|read),([0-9]){1,4}' =>
  2. array('param_type' => array('$1' => '1', '$2' => 4) // tu ustalam co ma być dla poszczególnych grup wyrażenia
  3. );

Dla domyślnego ustawienia można napisać nowe wyrażenie, lub załatwić to już z poziomu modelu, skoro i tak odwołujemy się do metody.

Generowanie linków... tu szału nie ma, ponieważ link generowany jest na podstawie danych np. "/page/add,400" i do niego są doklejane potrzebne informacje np. język "/pl/add,400" wszytko do ustalenia z poziomu cfg
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 12:28