PHP/Wybrane systemy szablonów

Z Wikibooks, biblioteki wolnych podręczników.
< PHP
Następny rozdział: Savant

Wybrane systemy szablonów[edytuj]

W tym rozdziale pragniemy przedstawić bliżej wybrane gotowe systemy szablonów. Zostały one wybrane w taki sposób, by stworzyć jak najlepszy przekrój dostępnych rozwiązań, a jednocześnie by reprezentowały one najlepsze praktyki programistyczne i sposób podejścia do problemu.

Savant[edytuj]

Savant to lekki, obiektowy system szablonów dla PHP 5. Wykorzystuje PHP jako język szablonów, dostarczając API do komunikacji ze skryptem oraz zestaw użytecznych helperów pomocnych np. przy generowaniu formularzy. Biblioteka jest rozwijana już od kilku lat, a najnowsze wersje wspierają również PHP 5.3.0. Programista dostaje do swojej dyspozycji elegancki, dobrze udokumentowany interfejs programisty, który można szybko opanować.

Open Power Template[edytuj]

Open Power Template to obiektowy system szablonów dla PHP 5.2/5.3, wykorzystujący XML do tworzenia szablonów. Cecha szczególna to deklaratywne podejście do tworzenia szablonów: powiedz co chcesz wyświetlić, a nie jak to ma działać oraz udostępnienie dużej liczby pionierskich rozwiązań.

PHPTAL[edytuj]

PHPTAL to implementacja języka szablonów Template Attribute Language z systemu szablonów Zope napisanego w Pythonie. Podobnie, jak w Open Power Template, język ten bazuje na XML-u. Implementacja obsługuje wszystkie elementy oryginału i udostępnia obiektowy interfejs programistyczny dla PHP 5.

Smarty[edytuj]

Smarty to łatwy i prosty system szablonów który można się szybko nauczyć i wykorzystać. Pozwala na separację logiki aplikacji (PHP) od jej warstwy prezentacyjnej (HTML). Smarty działa poprzez umieszczanie w szablonach znaczników, które następnie są zastępowane generowaną przez aplikację treścią. Pakiet umożliwia stosowanie struktur kontrolnych (decyzyjnych, pętli, itp). System Smarty cechuje się wysoką wydajnością dzięki kompilowaniu szablonów do postaci skryptów PHP, a także wbudowanemu systemowi buforowania.


Inne systemy szablonów[edytuj]

Powyższe systemy zostały szerzej opisane na dalszych stronach podręcznika, lecz oprócz nich w sieci można znaleźć wiele innych bibliotek prezentujących różny poziom i jakość.