![]() |
![]() |
![]()
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 w bazie nie trzymamy nice urli tylko oryginalny url i alias akrykulu czy strony - no to tak czy inaczej trzeba url generować, określać jak ma wyglądać alias, czego ma alias dotyczyć a czego nie - nie za skomplikowane to się robi? Wychodzi na to, że część nice-urla trzymamy w bazie. Prościej byłoby zapisywać oryginalny link i odczytywać parametry na podstawie ID (widziałem już takie rozwiązanie, adresy był typu strona.pl/234 strona.pl/567 itd. Wystarczy dodać słowa kluczowe)Cytat wcale nie dodatkowe polaczenie, zarowno u mnie jak i u Ciebie musze nawiazac polaczenie i pobrac jakies parametry zeby stowrzyc ten link - nieprawda, u mnie z linku dostajesz od razu tablicę parametrów, u siebie musisz odpytać najpierw bazę by dostać te parametry (no i czy nie lepiej byłoby je trzymać w postaci tablicy zserializowanej?)Cytat nie jest potrzebny algorytm ktory bedzie sprawdzal bo w momencie jego utrzworzenia mam 100% szansy ze bedzie unikalny - szansa jest zasadniczo pomiędzy 0 a 100%, skąd ta pewność, że gdy ktoś doda artykuł to tytuł będzie unikalny? Trzeba to sprawdzać przecież, tym bardziej, że jak sam wcześniej napisałeś link typu strona.pl/coś-tam-ktoś-tam może prowadzić do czegokolwiek.Cytat - tego nie rozumiem - przy np. edycji artykułu albo jego usunięciu trzeba poprawiać też bazę linkówCytat ty jak zmienisz algortym ktory generuje linki musisz zmienic algorytm ktory odczytuje linki - a guzik, bo oba korzystają z tego samego routingu. Metoda tworząca url jako jeden z parametrów przyjmuje routing (gdy nie podamy to idzie standardowy) a metoda odczytująca URL i wrzucająca zmienne do requesta także bazuje na tym routingu, routing można wygodnie zdefiniować w postaci ini, cfg etc. Cytat Jeszcze niewidzialem aplikacji do ktorej mozna dolaczyc cos co nie jest kompatybilne - dziwne. U mnie wystarczy utworzyć moduł w bazie, podać jako parametr ścieżkę do pliku .php oraz nazwę zmiennej, która będzie dostępna w szablonach podpiętych pod gałęzie z włączonym tym modułem. Można też podać link do PA tego modułu, który będzie się wyświetlał w PA aplikacji - w ten sposób zazwyczaj dołączam skrypty typu kursy walut czy prognoza pogody.Można oczywiście definiować aliasy w bazie, wpisywać ręcznie linki, losować słowa kluczowe wg ich seo priority itd. ale system nie może się na tym opierać, u mnie byłby to pewnie jakiś routing niestandardowy wdrożony w jednym module choć sam nie wiem w jakim celu, by zaoszczędzić kilka znaków w urlu? Dając parametry na końcu adresu na seo nic nie tracimy (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 07:51 |