Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ZF + Smarty
Forum PHP.pl > Forum > PHP
trylas
Witam, mam pytanie odnośnie rozwiązania spotykanego w wielu aplikacjach ... chodzi o widok który wyswietlany jest dla uzytkownika i widok dla admina... musza posiadac inne funkcje (hmmm niezle to wymyslilem smile.gif ) i moje pytanie jest takie czy system szablonów Smarty ułatwia takie rozwiązanie i czy właśnie ZF + system szablonów to optymalne rozwiazanie ... dopiero ucze sie ZF a Smarty jeszcze wogole nie zaczalem .... wiec zastanawiam sie czy w dobrym kierunku mysle. thnx in advance
Zyx
Zależy, co rozumiesz przez "ułatwiania". Bo móc to się da takie rozróżnienie zrobić na pewno i nie będzie się specjalnie pewnie też różnić budową i wyglądem od tego, co zrobiłbyś w zwykłym szablonie PHP. Nie powiedziałeś nic, co to mają być za "inne funkcje", na jakim dokładnie poziomie chcesz to rozróżnianie wprowadzać, a trzeba też wziąć pod uwagę własną pomysłowość i chęć zabawy.

Odpowiadając na drugie pytanie:

1. Zend_View jest systemem szablonów sam w sobie.
2. Używanie do tworzenia szablonów języka innego, niż PHP, nie jest takim głupim rozwiązaniem, jak niektórzy twierdzą...
3. Ale niekoniecznie tym językiem powinien być Smarty. Akurat w rzeczywistości jest to jeden z gorszych systemów szablonów, a na dzień dzisiejszy jego jedynym atutem jest praktycznie tylko popularność i nic więcej. Niska wydajność, archaiczne API, idiotyczne udziwnienia składni i niewprowadzanie właściwie nic ponad to, co potrafi zrobić PHP.

Dodatkowo musisz wziąć pod uwagę, że aby inny system szablonów dobrze służył Ci z danym frameworkiem, konieczne jest zintegrowanie obu na trochę wyższym poziomie, niż "o, tu sobiezainicjuję XXX i gotowe", jak to sugeruje wiele artykułów. Na dzień dzisiejszy znam jedynie dwa systemy szablonów, które oferują coś takiego:

1. Dwoo - niezależna reimplementacja Smarty, niby lepiej napisana, ale powielająca wciąż mnóstwo jego błędów. Dostępne adaptery dla kilku frameworków, w tym do ZF, przy czym są one dość proste: zwykła nakładka na Zend_View + podpięcie helperów.
2. OPT 2 - oficjalny port reimplementuje część Zend Frameworka odpowiedzialną za obsługę warstwy widoku. Obecnie w przypadku formularzy wciąż musi korzystać z usług helperów ZF, ale w przyszłych wersjach mają zniknąć wszystkie zależności od Zend_View. Poza tym dostarcza własne, autorskie helpery dostosowane do języka i potrafiące wykorzystać jego możliwości.
trylas
Czy Smarty "ułatwia" ? tzn mialem na mysli czy jest to narzedzie skonstruowane w kierunku rozwiazywania takich problemow ... czy tez niekoniecznie i zaglebianie sie w tajniki dzialania smarty bedzie strata czasu bo np Zend_View wykonuje to samo lepiej lub wcale nie gorzej.

"Inne funkcje" w zaleznosci od potrzeb aplikacji np uzytkownik = moze dodawac, edytowac, usuwac informacje, admin = moze zatwierdzac uzytkownikow i decydowac ktore informacje beda wyswietlane a ktore nie (to przykladowe zastosowanie ale bardzo popularne w roznych formach)

dzieki za odpowiedz i rade

pytanie odnosnie 2 wymienionych przez Ciebie systemow który używasz i czy wogole warto używac taki system czy moze lepiej pozostac przy Zend View i od czego zaczac przy takim rozroznieniu jak napisalem powyzej

jeszcze raz thnx
Zyx
Twoja dodatkowa funkcjonalność właściwie wymaga jedynie obudowania kodu kupą ifów, które sprawiałyby, że linki będą wyświetlać się w konkretnych sytuacjach. Poradzi z tym sobie zarówno czysty PHP, jak i Smarty. Wieczorem postaram się podrzucić jakieś przykłady, bo aktualnie niestety nie mam nic sensownego pod ręką do pokazania.

PHP jest ogólnie kiepski do pisania szablonów dlatego, że w czystej postaci nie oferuje prawie nic, co by ułatwiało programiście ich tworzenie. Może i powstawał on jako "preprocesor HTML", ale dawno już przestał nim być. Wszystko, począwszy od składni, do osadzania w kodzie HTML jest dostosowane bardziej do klepania algorytmów i pisania logiki aplikacji, a każdą najmniejszą głupotę musisz samodzielnie kodować i wynajdywać koło na nowo. OK, niby są te helpery, tylko z uwagi właśnie na budowę PHP ich personalizacja to jakiś masochizm. W samym tylko Zend Frameworku, jeśli chcesz zmienić jeden znacznik w wyglądzie kontrolki formularza, musisz bawić się zaawansowaną obiektówką. Smarty jest kiepski dlatego, że powiela dokładnie ten sam błąd, co PHP, a na dokładkę wprowadza kupę własnych idiotyzmów.

Ale to, że Smarty jest kiepski, nie znaczy, że wszystkie systemy szablonów są kiepskie. Masz PHPTAL, OPT 2 - podstawowa ich przewaga to pełne rozumienie struktury kodu HTML, a jest też sporo innych. Ujmę to tak: nieważne, co wybierzesz: czy Zend_View i PHP, czy Smarty, czy PHPTAL, czy OPT - będziesz się musiał tego narzędzia nauczyć. Pisanie w PHP tylko pozornie jest proste, bo przecież masz całą kupę helperów do opanowania, bez których język jest bezużyteczny na dłuższą metę, a jeszcze będziesz musiał sobie wyrobić jakiś styl budowy i organizacji Twoich szablonów, by się nie pogubić w tym wszystkim. Z kolei OPT 2 to zupełnie inna filozofia programowania. Na początku może być ciężko, ale jak się już załapie, o co w niej chodzi, to nagle pisanie szablonów staje się miłym i przyjemnym zajęciem. Piszę to teraz z punku widzenia własnego doświadczenia. Co prawda jestem autorem OPT (skoro zeszliśmy już na ten temat, to uczciwość nakazuje o tym poinformować), ale tylko w tym roku robiłem także projekty z szablonami w czystym PHP, których tworzenie szło strasznie topornie - szczególnie formularzy smile.gif. Z tego powodu, jeśli tylko nie ma naprawdę poważnych przeciwwskazań, staram się używać właśnie OPT. Zobacz sobie, sprawdź czy Ci pasuje, w końcu sprawdzenie nie boli.
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.