Open Power Template
Open Power Template to system szablonów stworzony w PHP5, który umożliwia separację logiki aplikacji od warstwy prezentacyjnej. Dzięki temu, prezentacja danych jest realizowana za pomocą szablonów, które zawierają kod HTML oraz instrukcje do osadzania danych generowanych przez aplikację.
Biblioteka korzysta z unikalnego języka programowania opartego na XML, zaprojektowanego do uproszczenia tworzenia szablonów. Umożliwia to twórcom skupienie się na efektach końcowych, co zmniejsza koszty i czas potrzebny na rozwój oraz utrzymanie oprogramowania.
Open Power Template jest częścią większego projektu Open Power Libs i została zaprojektowana z myślą o obiektowym API, inspirowanym popularnymi frameworkami.
Historia
Open Power Template powstał w listopadzie 2004 roku jako system szablonów dla forum dyskusyjnego. Po zakończeniu macierzystego projektu, biblioteka rozwijała się niezależnie. Stabilna wersja 1.0.0 ukazała się w sierpniu 2006 roku, a wersja 1.1.0 w styczniu 2007 roku, wprowadzając nowe funkcje.
W 2008 roku prace skoncentrowano na wersji 2.0, która weszła w fazę beta-testów w grudniu tego samego roku, a stabilna wersja została wydana w lipcu 2009.
Cechy
Wersja 2.0 Open Power Template umożliwia zaawansowane manipulacje kodem XHTML i oferuje następujące funkcje:
- Dziedziczenie szablonów oraz techniki modularizacji.
- Wsparcie dla formularzy internetowych.
- Abstrakcyjne generatory list.
- Automatyczne filtrowanie przeciwdziałające atakom XSS.
- Wsparcie dla wielojęzyczności.
- Instrukcje do manipulacji XML-em.
- Obsługa programowania imperatywnego: pętle i instrukcje warunkowe.
- Optymalizacja języka wyrażeń pod kątem XML-a.
Wbudowany parser XML może być również skonfigurowany do przetwarzania dokumentów HTML oraz plików tekstowych.
Przykładowy kod
Aby stworzyć szablon, potrzebne są dwa pliki: pierwszy z kodem prezentacyjnym w XML, a drugi generujący dane dla szablonu. Przykładowa struktura kodu prezentacyjnego przedstawia się następująco:
{$introduction}
- {$list.item}
Drugi plik konfiguruje bibliotekę oraz przypisuje dane do szablonu.
Linki zewnętrzne
Więcej informacji można znaleźć na stronie projektu: www.invenzzia.org.