Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MVC powtarzające się elementy
Forum PHP.pl > Forum > PHP > Object-oriented programming
sannin
Witam,
mam takie pytanie, czysto teoretyczne. W jaki sposób rozwiązujecie w swoich skryptach PHP które używają wzorca MVC sprawę powtarzalności elementów ? Np. mam kontroler main, article, news. Każdy z nich posiada ten sam header, więc nie ma sensu w każdym z kontrolerów tworzyć go od nowa (a nóż coś będzie trzeba zmienić tongue.gif), czy dobrym pomysłem jest stworzenie kontrolera header i includowanie go do reszty ? Tylko znowu to mi psuje całą logikę MVC bo kontroler powinien sterować podstroną. Poproszę o jakieś rady smile.gif

Pozdrawiam A.
CuteOne
Hmm ja zazwyczaj stosuję action helper (piszę głównie pod zendem) lub pluginy

http://framework.zend.com/manual/1.12/en/z...ionhelpers.html
sannin
Dzięki za przykład, ale raczej chodziło mi o pomysł rozwiązania problemu, ponieważ napisałem własny dość mocno ograniczony framework wink.gif
Crozin
Cytat
[...] ponieważ napisałem własny dość mocno ograniczony framework.
No to teraz się będziesz męczył we własnym frameworku, którego napisałeś nie mając pojęcia o tworzeniu tego typu narzędzi. Zobacz jak to zrobiono w dziesiątkach innych FW - niemal wszędzie w mniejszym lub większym stopniu jest to samo.
sannin
Kto powiedział, że nie mam o tym pojęcia ? Kolego, jeżeli nie masz nic do powiedzenia na ten temat to proszę nie przeszkadzaj w dyskusji, domyśliłem się, że znajdę odpowiedź na ten temat przeglądając inne FW, ale chciałem dowiedzieć się czegoś od ludzi piszących na co dzień w PHP. Dziękuje.
Spawnm
Cytat
kontroler main, article, news. Każdy z nich posiada ten sam header, więc nie ma sensu w każdym z kontrolerów tworzyć go od nowa

Od czego masz modele, a od php5.4 również traitsy?
Stwórz abstrakcyjną klasę Controller którą dziedziczyć będą twoje kontrolery i sprawa załatwiona.
sannin
O i to jest konkretna odpowiedź, nie wiedziałem o takich cudach w PHP wink.gif Co do klasy Controller to tak właśnie mam zrobione smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.