![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Czy któraś z klas: Model, View czy Controller powinna po sobie dziedziczyć ?
Pytam, bo widziałem przykłady bez dziedziczenia i z dziedziczeniem i wolę zapytać (IMG:style_emoticons/default/smile.gif) Drugim pytaniem, na które też znalazłem kilka odpowiedzi to przełączanie widoków. Uruchamiam index.php czyli ten podstawowy plik, a w nim uruchomienie kontrolera, który natomiast uruchamia model i widok... Fajnie, ale co dalej ? Na razie mam zrobione www.xx.pl/index.php?view=contact i ta zmienna view jest sprawdzana w switch/case i tam mam include odpowiedni widok i uruchomienie klasy danego widoku
W view mam stworzone jakieś menu np
Ale czy nie ma lepszego sposobu na to np przez pominięcie get czy coś ? Wiem, że jeszcze można ustawić routery na www.xx.pl/controller/action/param i wtedy tworzę kontrolery (ilość zależna od podstron), które uruchamiają różne widoki, ale to w formie takiego uproszczenia. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 370 Pomógł: 43 Dołączył: 1.12.2007 Skąd: Kędzierzyn Koźle Ostrzeżenie: (0%) ![]() ![]() |
popatrz na ten kod i zastanów się czy logika programu została oddzielona od warstwy prezentacji (IMG:style_emoticons/default/smile.gif)
Zrobie Ci małe howto, żebyś mógł to zrozumieć: załóżmy, że mamy adres postaci Kod localhost/index.php?url=kontroler/akcja/param1/param2/... idąc dalej, załóżmy, że chcemy wyświetlić newsa o konkretnym id, w tym wypadku nasz adres będzie wyglądał tak: Kod localhost/index.php?url=news/pokaz/45 czyli, nasz kontroler to "news", nasza akcja to "pokaz" a nasz parametr (id) to 45. W index.php parsujesz url, aby wyciągnąć kontroler, akcję i parametry po czym uruchamiasz to np. tak:
W tym wypadku klasa naszego kontrolera powinna wyglądać tak:
od razu mówię, że jest to tylko PRZYKŁADOWA implementacja, dodatkowo pisana z palca, modelu nawet nie pisze bo bedzie tam tylko prosta funkcja pobierajaca newsa na podstawie id a widok to znowu kwestia implementacji (IMG:style_emoticons/default/smile.gif) Ten post edytował krzywy36 26.06.2012, 17:02:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 06:00 |