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
Reigon
post
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 19.10.2004

Ostrzeżenie: (0%)
-----


Sa dwa rozwiazania,ktore przychodza mi do glowy i zeby, jak to powiedzial poprzednik, nie wklepywac wywolywania akcji komponentow manualnie. Pierwsze juz opisal Ludvik i mozna je zastosowac jezeli np. komponenty layoutu wystepuja ale moga w ogole nie wystapic.

Drugim rozwiazaniem (moze nawet lepszym, o ile elementy te zawsze wystepuja, ale sa dynamiczne) jest zastosowanie wzorca Intercepting Filter i wykonywanie akcji menu,header,footer jako akcje preprocessing,
a nastepnie przekazanie wynikow wraz z akcja wywolywana do renderowania. Drugi sposob mozna takze wykorzystac, jezeli elementy te nie wystepuja zawsze - nalezy wtedy zastosowac kilka rodzajow filtrow.
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: 12.10.2025 - 21:31