![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 20.02.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam
Zwracam się do was z prośbą o pomoc w wyciągnięciu mnie z totalnego zapętlenia związanego z mvc. Piszę szkielet podpatrując gotowe rozwiązania. Ale gnębi mnie problem powiązania mapowania urli z wyborem widoku. Zrobiłem to dość tradycyjnie to znaczy url wygląda tak: /kontroler/akcja/klucz/wartość/... I wszystko działa frontKontroler zbiera żądanie i przenosi mnie do kontrolera akcji który wybiera akcję a ona ewentualnie korzysta z dalszych parametrów z urla. Akcje są metodami wywoływanymi przez obiekt kontrolera. Więc pisząc jakiegoś prostego cms'a projektuje wszystkie możliwe akcje i przydzielam im widoki. No i właśnie tutaj mam problem tak rozumując dostaje koszmarnie długi adres np: /kontroler_galeria/akcja_pokaz/klucz_co/wartość_id-galerii/ Przecież tylko dwa ostatnie elementy mogą być modyfikowane podczas aktualizacji strony - administrator tworzy sobie nową galerią, która ma przypisany id-galerii. Jak to skrócić? Ja wiem, że to kwestja "implementacji”, ale chciałbym się dowiedzieć jak to u was wygląda, jak radzicie sobie z aktualizacją - rozbudową - dodawaniem podstron? Gdzieś pewnie w moim rozumowaniu tkwi błąd ale kurcze nie wiem gdzie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem tylko po co w tym URL znajdują się takie słowa jak kontroler, akcja, klucz... Przecież to nikomu się nie przyda. Jak usuniesz to url wygląda już ładniej:
/galeria/pokaz/id/2/ Możesz też się pozbyć tego "id" mapując kolejno elementy ścieżki na parametry. Musisz stworzyć tylko odpowiednią mapę do tego (bądź innego) schematu. /kontroler/akcja/1/2/3/... Gdzie mapujesz 1 => nazwa, 2 => coś innego itd... Wymagana jest kolejność odpowiednia, ale wtedy URL wygląda jeszcze lepiej. Dzięki temu możesz stworzyć URL w stylu: /galeria/pokaz/zdjecia_z_wakacji Tak jak to ma miejsce na stronach php.pl. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 18:32 |