PHP/Czym jest system szablonów?: Różnice pomiędzy wersjami

poprawki stylistyczne, literówki itd
(zamiana prognav->subst:naw)
(poprawki stylistyczne, literówki itd)
# '''Automatyzacja''' - wiele systemów szablonów udostępnia specjalne znaczniki, które w prosty sposób pozwalają zrealizować skomplikowane zadania.
# '''Inna filozofia pracy''' - niektóre rzeczy łatwiej jest zrobić za pomocą systemu szablonów (np. obsługa formularzy).
# '''System cache''' - zaawansowane systemy szablonów potrafią przechowywać w plikach cache'ować generowane wyniki, co zmniejsza obciążenie serwera i umożliwia obsłużenie większego ruchu.
# '''Inna organizacja pracy aplikacji WWW''' - dzięki systemom szablonów, nietrudno jest zbudować skrypt, który najpierw przetworzy wszystkie niezbędne dane, a dopiero na samym końcu zajmie się generowaniem wyniku HTML. Przy okazji umożliwia to większą dynamiczność aplikacji. Zauważmy bowiem, że przy wymieszanym kodzie HTML i PHP to, co już wysłaliśmy, jest wysłane i w razie jakichś problemów musimy zaakceptować ten smutny fakt. W przypadku systemu szablonów wystarczy jedynie zmienić szablon.
# '''Webmaster nie musi znać PHP''' - w wielu firmach grafik oraz programista to dwaj zupełnie różni ludzie i nie jest wcale powiedziane, iż muszą oni znać nawzajem swoje profesje. Dla webmastera tworzącego kod HTML zawiłości PHP mogą być trudne do przeskoczenia. Warstwa abstrakcji w postaci systemu szablonów separuje go od tego, oddając w jego ręce łatwy do zrozumienia zestaw narzędzi.
 
==== Smarty ====
''Smarty (TM)'' to jeden z najstarszych oraz bez wątpienia najpopularniejszy z dostępnych systemów szablonów, jego początki sięgają 2000 roku. Od tamtej pory przeszedł długą drogę, wzbogacony o nowe możliwości. Popularność oraz długa obecność sprawia dodatkowo, iż biblioteka jest bardzo stabilna i posiada bardzo małą liczbę błędów. Pomimo ogromnych możliwości, Smarty wygrywa wydajnościowo z wieloma mniej rozbudowanymi systemami szablonów. Dodatkowymi jego atutami są duża liczba materiałów pomocniczych (jego omówienie można znaleźć niemal w każdej bardziej zaawansowanej książce traktującej o PHP) oraz elastyczna architektura - łatwo rozszerzyć jego możliwości za pomocą pluginówrozszerzeń.
 
Smarty posiada obiektową architekturę, ale ze względu na konieczność zachowania kompatybilności, jest skryptem pisanym i zoptymalizowanym głównie pod kątem należącego już do przeszłości PHP4. Wielu programistów zarzuca mu także zbytnie upodobnienie się do języka programowania oraz spychanie instrukcji automatyzujących złożone zadania na dalszy plan. Zastrzeżenia wysuwane są także pod adresem stylu nazewnictwa metod oraz samej składni szablonów, jednak jest to już jedynie kwestia gustu.
 
==== Open Power Template ====
''Open Power Template'' to polski system szablonów zdobywający popularność głównie w naszym kraju. Jego początki datowane są na koniec 2004 roku, a obecny kształt przybrał na początku roku 2006. Jest on napisany oraz zoptymalizowany pod kątem PHP5 i nie działa na starszych wersjach. Głównym celem przyświecającym jego powstaniu było poprawienie i usunięcie wad systemu ''Smarty'', stąd też pewna liczba podobieństw występujących między tymi systemami (najprostsze szablony mogą być bez żadnych zmian przetwarzane przez oba). W OPTOpen Power Template instrukcje typowe dla języków programowania mają jednak charakter drugoplanowy, a znacznie większy nacisk położony został na bardziej wysokopoziomowe instrukcje rugujące programowanie z szablonów. Wydajność OPTtego systemu jest minimalnie wyższa niż w Smarty.
 
OPTOpen Power Template nie jest jednak tak popularny jak Smarty, co rzutuje na jakość dostępnych materiałów. Dokumentacja przechodzi okres poważnych zmian i natrafić można w niej na nieścisłości. Bardzo mało jest tutorialitekstów objaśniających wszystko krok po kroku, trudniej także uzyskać pomoc w przypadku napotkania problemów.
 
OPTOpen Power Template jest częścią większego projektu: Open Power Board. W jego ramach opracowywany jest także dodatek do OPT zwany ''Open Power Forms'' zajmujący się obsługą formularzy, zaawansowany system kontroli danych oraz wsparcie dla AJAX.
 
Witryna Open Power Template: [http://opt.openpb.net opt.openpb.net]