Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 20.02.2010 Ostrzeżenie: (0%)
|
Witam,
niedawno postanowilem sie troche podszkolic w programowaniu obiektowym i napisac aplikacje wykorzystujac MVC, troche glowkowalem i wszystko jakos ogarnalem, chodiz fajnie... z tym ze nie chce pozniej sie bawic w tworzenie przyjaznych URL-i gdy juz wszystko bedize gotowe... wiec postanowilem to zrobic teraz, zanim stworze cala strukture podstron... W kazdym razie przejdzmy do wlasciwego problemu, jak mi wiadomo gdy opieramy sie na MVC wywolanie jakiejs akcji tudziez podstrony polega na podaniu kontrollera i pozniej opcjonalnie akcji i ewentualnie dodatkowych parametrow. a wiec np. jezeli na stronie chcialbym wyswietlic jakas kategorie, wyciagana z bazy, URL wygladal by mniej wiecej tak : "?controller=kategorie&action=pokaz&kat=agd" w takim przypadku stworzenie przyjaznych linkow w formie "/kategorie/pokaz/agd/" nie jest problemem... jednak zalezalo by mi, jezeli jest to mozliwe wogole, aby link mial postac duzo prostsza... a mianowicie nie pokazywal kontrollera i akcji, a bezposrednio kategorie: "/agd/" . Wydaje mi sie ze bylo by to dobre rozwiazanie, zwlaszcza gdyby w linku byla kategoria i podkategoria, nie mowiac jzu o przypadku gdyby ich nazwy skladaly sie z kilku slow, gdyby do tego jeszcze dorzucic nazwe kontrolera i akcji, link moglby urosnac do zbyt duzych rozmiarow.... a wiec moje pytanie brzmi, czy jest taka mozliwosc? bo nie moge wymyslic, jak w takim razie router rozpoznal by ktory kontroller i ktora akcje ma odpalic... |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%)
|
poniewaz aktualnie siadlem do pisania cms, ja mam taki pomysl. U mnie kazda strona tj. arktykuly itd bedzie tworzyl uzytkownik (wiadoma sprawa) w momencie tworzenia bedzie musial zdefiniowac typ dokumentu (czyli jaki modul bedzie za to odpowiedzialny), zostanie mu nadany jakis id dokumentu, wiec juz teraz jestem w stanie okreslic link do tego dokumentu i powiedzmy ze ma on taka forme /index.php?kontroler=artykul&id=20. Cos takiego zapisuje do bazy w tabeli np linki. Oczywiscie sa tam kolumny ktore definiuja nasz nice url np artykul/20 oraz prawdziwy url i inne rzeczy (IMG:style_emoticons/default/smile.gif)
Nastepnie robie sobie clase ktora pobiera mi wszystkie dane z tabli linki odszukuje co trzeba w wynikach odpowiednimi metodami clasy i znam prawidlowy url z ktorego latwo moge wyciagnac typ kontrolera i id z tego artykul/20 bedzie ciezko ale z tego kontroler=artykul&id=20 juz nie ... robimy explode po & i mamy 2 parametry (IMG:style_emoticons/default/smile.gif) Oczywiscie jest to wszystko bardzo uproszczone ale jak widac mozna to latwo rozbudowac dodajac jakies np jakis task, option itd Co moge jeszcze dodac to jest to, ze gdy ktos bedzie nam wpisywac jakies scierwo do urla np pod id to nie bedzie tego w zapytaniu ktory szuka id podanym w url, poniewaz wszystkie dane bede mial pobrane niezaleznie od tego co jest w url-u pozniej wystarczy jak pisalem odnalesc szukany przez nas link i okreslic co trzeba uruchomic.. Daje ci to przewage nad tym ze nie musisz definiowac wszystkich mozliwych wzorcow tylko jeden i kazdy odnosi sie do index.php i to jest moim zdaniem najlepsze rozwiazanie Ten post edytował wiiir 7.09.2010, 11:22:30 |
|
|
|
zembi1991 NiceURL w MVC ? 1.09.2010, 20:33:49
dr_bonzo CytatURL wygladal by mniej wiecej tak : "?con... 1.09.2010, 20:39:19
zembi1991 hmm.. nie bardzo rozumiem jak by to mialo dzialac ... 1.09.2010, 20:50:19
dr_bonzo Ja to robie przed zbudowaniem kontrolera. Jako plu... 1.09.2010, 21:00:23
Pilsener Najlepiej przyjąć, że:
- wszystkie żądania wysyłam... 1.09.2010, 21:21:49
Crozin Wątek nie ma de facto nic wspólnego z samym wzorce... 1.09.2010, 21:27:29
dr_bonzo @Crozin - nie o taką mapę mi chodziło - ty prezent... 7.09.2010, 07:51:00
Pilsener To co napisałeś to jakiś koszmar, mam utworzyć adr... 8.09.2010, 08:43:15 
wiiir Cytat(Pilsener @ 8.09.2010, 09:43:15 ... 8.09.2010, 09:37:44
Pilsener Menu generuje normalnie, na podstawie drzewa kateg... 8.09.2010, 12:35:37
wiiir Tyle ze moim przypadku moge zrobic sobie np
[HTML]... 8.09.2010, 14:47:48
Pilsener [HTML] pobierz, plaintext strona.pl/to-jest-kolejn... 8.09.2010, 18:42:52 
wiiir Cytat(Pilsener @ 8.09.2010, 19:42:52 ... 8.09.2010, 19:49:30
dr_bonzo Cytat- a jak ktoś doda np. artykuł zawierający ide... 8.09.2010, 18:50:52
Pilsener CytatA po co? Paginacja i szukarka operuje na QUER... 9.09.2010, 08:52:17 
wiiir Cytat(Pilsener @ 9.09.2010, 09:52:17 ... 9.09.2010, 10:28:30
dr_bonzo CytatPo mojemu to Wasz sposób jest mało elegancki ... 9.09.2010, 09:02:36
Pilsener CytatUżywasz za każdym razem drzewa kategorii? - t... 9.09.2010, 09:22:53
Pilsener Cytatw bazie nie trzymamy nice urli tylko oryginal... 9.09.2010, 12:12:19
dr_bonzo CytatCytatnie jest potrzebny algorytm ktory bedzie... 9.09.2010, 13:57:12
marcio @dr_bonzo mozesz pokazac jak mapujesz te url w rou... 9.09.2010, 14:00:46 ![]() ![]() |
|
Aktualny czas: 10.06.2026 - 12:42 |