Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MVC] Owieranie kontrolerów w środku innego.
webdice
post
Post #1


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Na początek sory za temat ale nie bardzo wiem jak to nazwać. Nie wiem jak rozwiązać mój problem, a mianowicie mam index i chce zrobić menu (w indexie), ewentualnie część prawą, lewą i jakąś stopkę i tu moje pytanie jak wy to rozwiązujecie w waszych frameworkach. Najbardziej bym chciał mieć np application.Controller.php (w nim zawarte jakieś akacje odnośnie indexu) i inne kontrollery, np news.Controller.php, ogolnie chodzi o to jak includować newsController w applicationController. Ja widze tylko takie rozwiązanie: w odpowiednim miejscu w pliku z szablonem wstawić coś typu

Kod
forward ('controller', 'akcja')


ale takie rozwiązanie nie bardzo mi się podoba, tak samo nie chciałbym dzielić indexu na górną i dolną cześć.\

Pozdrawiam Piotrek.

Ten post edytował webdicepl 29.05.2007, 11:34:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ludvik
post
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 mieszałbym widoku z akcjami. Ja bym to zrobił tak:

Application Controller wybiera akcję, która jest realizowana przez jakieś polecenie, które przygotowuje wszystkie potrzebne dla widoku dane. Po pobraniu treści, wybierany jest widok i przekazywany do niego obiekt kontekstu, który zawiera wszystkie niezbędne dla widoku informacje. Renderujemy widok.

Sam widok jest złożony - do szablonu dołączamy komponenty. Jednym z nich może być menu. Generujemy wszystkie z nich, łączymy w głównym szablonie i zwracamy klientowi.

Warto poczytać o wzorcach projektowych, np. o Composite View.

Ten post edytował Ludvik 29.05.2007, 12:13:57
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 01:49