![]() |
![]() |
![]()
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: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat A po co? Paginacja i szukarka operuje na QUERY_STRINGu /komputery/laptopy/sony.hmyl?page=3&procesor=1 - i doklejony po "?" numer strony już nie wygląda ładnie. I kto ma określać gdzie, kiedy kończy się nice url a zaczyna "?"? Co trzymać w niceurl i bazie a co nie? I jak tworzymy takie linki? Pobieramy nice url z bazy a query string doklejamy?Nice URL patrzy na URL przed "?" i po problemie. I wcale nie marudzę, każdy robi jak chce ale Wasz sposób wydaje się mieć zbyt dużo wad: - dodatkowe zapytania mysql i wzrost transferu z bazy - algorytm sprawdzający unikalność URLi - obsługa URLi w bazie - słaba elastyczność, niska odporność na zmiany i modyfikacje, ciężko dodać zewnętrzną aplikację jako moduł bez pełnej integracji U mnie jest tylko: - algorytm generujący nice URLe - algorytm odczytujący URLe U Was bardziej rozbudowane będzie generowanie URLi a u mnie odczyt (dochodzi routing). Cytat wymaganie klienta aby linki np. w sklepie były bez żadnego ID - wtedy musimy zrobić unikalny title (lub id oparty o title) i na jego podstawie pobierać treść z bazy, problemu tu nie widzę.Po mojemu to Wasz sposób jest mało elegancki (widać zmienne np. w paginatorze czy galerii zdjęć) a w dodatku trudniejszy w programowaniu. Standardowy router wrzucający zmienne do tablicy na podstawie znaków typu -;, to przecież żadna czarna magia. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
- i doklejony po "?" numer strony już nie wygląda ładnie. I kto ma określać gdzie, kiedy kończy się nice url a zaczyna "?"? Co trzymać w niceurl i bazie a co nie? I jak tworzymy takie linki? Pobieramy nice url z bazy a query string doklejamy? w bazie nie trzymamy nice urli tylko oryginalny url i alias akrykulu czy strony, Czyli tak naprawde nice linkiem moze byc drzewo aliasow /nazwa_podartykulu/nazwa_artykulu i w tym wypadku (myslac logicznie) jesli artykul wywolujemy z podartykulu mozemy go pozycjonowac wzgledem calego drzewa I wcale nie marudzę, każdy robi jak chce ale Wasz sposób wydaje się mieć zbyt dużo wad: - dodatkowe zapytania mysql i wzrost transferu z bazy - algorytm sprawdzający unikalność URLi - obsługa URLi w bazie - słaba elastyczność, niska odporność na zmiany i modyfikacje, ciężko dodać zewnętrzną aplikację jako moduł bez pełnej integracji - wcale nie dodatkowe polaczenie, zarowno u mnie jak i u Ciebie musze nawiazac polaczenie i pobrac jakies parametry zeby stowrzyc ten link - nie jest potrzebny algorytm ktory bedzie sprawdzal bo w momencie jego utrzworzenia mam 100% szansy ze bedzie unikalny - tego nie rozumiem - wlasnie wysoka elastycznosc i duza odpornosc na zmiany, ty jak zmienisz algortym ktory generuje linki musisz zmienic algorytm ktory odczytuje linki ja nie musze bo dla mnie jest niewazne jak on wyglada. W moim przypadku musze zmienic routing gdy dodaje kolejna opcje do linka co w towim przypadku tez jest konieczne. Jeszcze niewidzialem aplikacji do ktorej mozna dolaczyc cos co nie jest kompatybilne bo predzej czy pozniej sie wywali badz wogole nie wlaczy. Ten post edytował wiiir 9.09.2010, 10:30:13 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 16:40 |