![]() |
![]() |
![]()
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¶m1=... 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 |
|
|
![]() |
![]()
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 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 2.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
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 htacces likwiduje z adresu index.php a co za tym idzie ładniej to wyglada, co do odbierania adresu kiedy nie masz podanej akcji to swich / if .. else 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 Powinienes mieć usystematyzowane tworzenie linków tzn. http://domain.com/index.php/article/wielkanoc http://domain.com/index.php/article/wielkanoc/edit http://domain.com/index.php/article/wielkanoc/comment Bynajmniej u mnie się to świtnie sprawdza, zawsze wiem czego mam się na której pozycji spodziewać wyr. reg. sprawdza się doskonale bo tylko to co spełnia Ci warunek będzie przepuszczone (bezpieczeństwo), kwestia dopracowanie sobie wzorca i przemyslenia jak chcesz aby aplikacjia działała. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 03:23 |