![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chciałbym wszystkich zainteresowanych koderów zaprosić do dyskusji oraz uchylenia rąbka swojego fachu. Otóż odkąd zacząłem programować według wzorca MVC zacząłem myśleć o systemie szablonów. Na początku stworzyłem własną klasę, bazująca na wyrażeniach regularnych pcre, która parsowała dokument html w poszukiwaniu zmiennych,bloków itp i je podmieniała. Później wpadłem na odkrywczy fakt że po co odkrywać koło na nowo i zacząłem stosować smarty, w między czasie liznąłem trochę OPT. Jednak pewnego pięknego dnia natrafiłem na artykuł Pana W.Gajdy:
http://www.internetmaker.pl/artykul/2920,1...rezentacji.html , otworzyłem swoje szablony i rzeczywiście okazało się, że powrót do "czystego PHP" to jest to ! Tylko według tej koncepcji znacznie uprościłem swój kod:
i właśnie tutaj stanąłem, bo nie wiem jak i czy wogle dalej dobrze myślę...otóż: 1.) jak tutaj zrobić dynamicznie ładowaną treść ? dać w sekcji <?php include($x); ?> i w zależności od danego żądania odpowiednio nadawać wartość $x ? 2.) Czy obsługę tak prostego systemu szablonów pisać w osobnej klasie i przesyłać dane metodą assign jak w smartym ? czy lepiej od razu zrobić to w kontrolerze 1-2 metody które ładują szablon cachują i tyle,a sam system szablonów to po prostu zapisane pliki .php z kodem HTML i wstawkami jak w tym artykule ? Prosiłbym o jakiś przykładowy kod jeśli ktoś zechce się z nim podzielić Ten post edytował R4D3K 13.07.2009, 21:37:58 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 12 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Za Twoja namową Zyx poczytałem na temat Zend_View, i mniej więcej wiem jak to tam wygląda, jednak mam pytanie dotyczące Zend_Layout, otóż jak udało mi się dowiedzieć klasa ta służy do stworzenia kontenera strony www, czyli nagłówek+stopka:
dzięki takiemu rozwiązaniu do każdego naszego szablonu nie musimy już includować nagłówka i stopki itp. I moje pytanie jak to jest zaimplementowane (podejrzewam że zapewni dzięki metodom magicznym typu __call, ale mogę się mylić) , czy ktoś mogłbym mi słownie najlepiej kodem) pokazać jak ta metoda działa ? Skoro szablon poprostu jest includowany (wtedy działa konstrukacja typu echo $view->zmienna), to czy tutaj jest to też zastępowane przez proste include ? czy wczytuje ten content i jakoś sprytnie podczas renderu jest to wklejane ? Ten post edytował R4D3K 14.07.2009, 15:49:20 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 07:34 |