Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Router - teoria
ulow
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 4
Dołączył: 18.05.2010

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


Wg mnie, klasa routera powinna parsować url'e jak i je tworzyć, ogólnie wszystko co z nimi związane. U siebie, chcę zrobić to tak, że będę miał adresy postaci:

domena.pl/modul/akcja/parametr1/parametr2/parametrN

Z wydobyciem modulu i akcji i wywołania tego, nie będę miał problemu, ale rozchodzi się tutaj o parametry, które będą przekazywane do akcji. W jaki sposób je rozróżniać? Skąd router ma wiedzieć który parametr jest do czego? Nie wchodzi w grę tutaj ustawianie wszystkiego w htaccess, bo nie do każdej akcji będą przekazywane parametry w ten sam sposób. No i nie chcę mieć adresów: domena.pl/?modul=foo&akcja=bar&param1=... itd, chociaż wtedy nie byłoby problemu. Myślałem nad czymś takim jak jest w Symfony, a mianowicie pliczek routing.yml itd, ale nie mam pojęcia jak to zaimplementować (IMG:style_emoticons/default/smile.gif)

Ktoś podsunie jakieś sensowne rozwiązania? Albo wskaże mi moje błędy
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
_olo_1984
post
Post #2





Grupa: Zarejestrowani
Postów: 289
Pomógł: 77
Dołączył: 5.08.2006

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


Podepnę się z moim problemem, mam prosty router, który przekształca mi adres:
http://domain.com/index.php/module/action/param1/param2/ na tabilcę, a dalej dane już co moduł co akcja idą w aplikację.
Generalnie jest w porządku, nie potrzebuję do tego htaccess.

Jednak chciałbym zrobic coś takiego, kiedy w aplikacji mam kilka modułów, powiedzmy cms, article, news i dla modułu article chciałby tworzyć adresy typu:
http://domain.com/index.php/article/Krzysi...zis_98_lat_hej/
obecnie to zrobiłem tak, że dla modułu "article" jest ustawiona akcja domyślna "show" - na sztywno, ale odpada, kiedy dopiszemy inne akcje, typu comment. I pytanie jest takie, czy ktoś może podpowiedzieć, jak odbierać adresy, kiedy nie wiemy czy iidentyfikator action będzie podany, czyli adres
http://domain.com/index.php/article/Krzysi...zis_98_lat_hej/ ma tak samo działać jak
http://domain.com/index.php/article/show/K...zis_98_lat_hej/ czy
http://domain.com/index.php/article/Krzysi..._lat_hej/page/1 z paginatorem

widzę tutaj propozycję wyrażeń regularnych, jednak na mój niedoświadczony rozumek, to chyba nie sprawdzi się, skoro tytuł jak i nazwa akcji będą pasować do jednego wzorca np. przykład
http://domain.com/index.php/article/show/wielkanoc/
http://domain.com/index.php/article/wielkanoc/

a po ilości parametrów też raczej odpada, bo nie wiadomo, czy nie będzie drugiego parametru. Kurcze, mam nadzieję, że nie namieszałem za bardzo,
analizuję jak to jest właśnie w symfony i kohanie, ale jakoś nie mogę znaleść rozwiązania problemu. Prosiłbym o jakąś wskazówkę. Pozdrawiam
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: 14.10.2025 - 23:08