![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 10 Dołączył: 13.02.2007 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Ciągle zastanawiam się, czy dobrze interpretuję zasadę MVC. Chciałem napisać coś takiego: KONTROLLER: Index.Controller.php: Pobiera $_GET['view'] i zwraca $this -> setView():
Następnie MODEL pobiera dane z mysql z danego projektu i zwraca:
W ostateczności Widok pobiera wszystko i generuje HTML:
Męczy mnie także pytanie, jak to wszystko połączyć, zeby działało? Chodzi o większą ilość widoków, lub modeli. Proszę mnie nie odsyłać do artykułów, bo z nich nic się (niestety) nie można dowiedzieć. Pozdrawiam, Matix: ) Ten post edytował matix 25.05.2007, 22:03:54 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Przykład dotyczy wyświetlenia wartości wpisanej w pole formularza.
jest on bardzo prosty, a mój framework wymaga nieco nakładów pracy przy tworzeniu aplikacji, więc proste przykłady wyglądają dziwacznie. plik index.php, czyli akcja index unit oznacza nazwę modułu (mam tak, bo nie ma namespaces w php - jak będzie php6, to zmienie)
plik actions.xml zawierający informacje dla kontrolera dotyczące akcji i tego, jak ma reagować na różne zgłoszone przez nią stany
Teraz warstwa prezentacji plik index.slot.php - sloty to miejsca, przez które pliki szablonów są wstawiane na stronę www
plik pokaz.tpl plik error.tpl - zostanie wyświetlony, gdy nie przesłano danych
---edit Zobacz, że klasa akcji jest maksymalnie izolowana od warstwy prezentacji - nie wybiera sama pliku, który ma zostać wyświetlony - zgłasza tylko stan, a resztą zajmuje się jądro systemu. Podobnie działają przekierowania. Ba! można w ten sposób nawet wyrzucić wyjątek. Ten przykład nie zawiera manipulacji danymi, ale jeśli takie są konieczne, to robi się to właśnie w ciele akcji lub wydziela się następną akcję, która to robi (to już bardziej zaawansowana zabawa) Ten post edytował Cysiaczek 26.05.2007, 19:44:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 20:25 |