Routery i sposoby routingu, Czyli jak to zrobić wydajnie, a się nie narobić |
Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.
Routery i sposoby routingu, Czyli jak to zrobić wydajnie, a się nie narobić |
21.07.2008, 09:31:30
Post
#1
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn |
Zgłoszono zapotrzebowanie na taki temat więc tworzę
Myśl przewodnia: "W jaki sposób tworzyć routery na potrzeby naszych aplikacji, jakie są wydajne a jakie nie. Jakich używać a jakich nie używać." |
|
|
31.07.2008, 10:41:15
Post
#2
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) |
Ja swój router oparłem o dynamiczne dobieranie typów. Pierwsze 2 parametry adresu tj. /klasa/metoda to nic innego jak odwolania do konkretnego controllera i jego metody. Pozostałe dane z adresu dobiera juz sobie indywidualnie controller podajac tablice typow np.
Kod id => integer title => string mydate => date Dzieki temu aplikacja moze dzialac w kilku różnych trybach np. /klasa/metoda/1/tytul/2008-07-31 /klasa/metoda/2008-07-31/tytul/1 /klasa/metoda/2008-07-31/1/tytul itd. Oczywiście mam tez system linków, dzięki którym router sam dobiera wszystkie lub tylko część parametrów adresu. Tak więc u mnie jest to uklad statyczno-dynamiczny(linki) a nastepnie dynamiczny. Przemielanie ogromnej tablicy w poszukiwaniu odpowiedniego wzorca adresu to imho pomyłka. Tak routera tworzyc się nie powinno. Zmniejsza to elastyczność(tworząc controller trzeba edytować konfiguracje routera) i działa duużo wolniej. Tworzenie routera obslugującego tylko skladnię opartą o rewrite również jest dziwne(żechyba robi się aplikacje na własny użytek) Dobrze jest zrobić 2 tryby adres.pl/zmienne oraz adres.pl/index.php?/zmienne Ten post edytował SHiP 31.07.2008, 10:42:50 -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
Wersja Lo-Fi | Aktualny czas: 12.06.2024 - 11:28 |