Open Power Template
Open Power Template to nowoczesny system szablonów dla PHP5. Wielu polskich programistów z pewnością kojarzy tę nazwę, gdyż jego historia sięga końca 2004 roku. W ramach grupy Invenzzia opracowujemy zupełnie nową wersję, wolną od naleciałości historycznych i zaprojektowaną z użyciem nowoczesnych rozwiązań. Kliknij, aby dowiedzieć się więcej.
Zadaniem systemu szablonów jest generowanie kodu HTML, który później wysyłany jest do przeglądarek internautów. Wyszliśmy z założenia, że zarówno czysty język PHP, jak i wiele innych tego typu projektów, zbyt mocno komplikuje ten nietrudny proces, jakim jest umieszczenie wyników wykonania skryptu w szkielecie kodu HTML. W efekcie użytkownicy stale tracą czas na dokładne instruowanie tych narzędzi, jak mają przetwarzać poszczególne fragmenty, narażając się tym samym na ryzyko popełnienia błędu. Bazując na naszym własnym doświadczeniu oraz obserwacjach, doszliśmy do wniosku, że zdecydowana większość procedur umieszczanych w szablonach kodu HTML, jak np. generowanie list, da się sprowadzić do prostej kombinacji kilku elementarnych operacji. Dlatego wyposażyliśmy nasz system szablonów w odpowiedni ich zestaw oraz nauczyliśmy go, w jaki sposób mogą one wchodzić ze sobą w interakcję. Dzięki temu, jako twórca szablonu, możesz w całości skoncentrować się, co chcesz osiągnąć, a nie – jak to wszystko ma działać. Open Power Template sam rozpozna, jak najlepiej połączyć użyte elementy, abyś osiągnął zamierzony efekt. Oczywiście nie znaczy to, że będzie potrafił pomóc w każdej możliwej sytuacji. Niektóre bardziej wymyślne efekty będą wymagać Twojej interwencji, lecz czynimy wszystko, aby działo się to jak najrzadziej.
Nowy Open Power Template, dzięki wbudowanemu parserowi XML, w pełni rozumie strukturę Twojego kodu HTML. Nie tylko potrafi samodzielnie odnaleźć nieprawidłowo zamknięte znaczniki, ale przeprowadzić złożone operacje automatyzujące wiele typowych czynności. Możliwości te idą w parze z wydajnością. Każdy szablon jest kompilowany do postaci kodu PHP, dzięki czemu jego ostateczne przetwarzanie jest bardzo szybkie, a może być jeszcze bardziej przyspieszone, jeśli używamy akceleratora PHP. Co więcej, kompilacja wykonywana jest tylko raz, a jej rezultat zapamiętywany na twardym dysku w celu późniejszego użycia.
Przemyślane reguły
Open Power Template bazuje na kilku regułach:
- Reguła KISS – to, co ma być proste do wykonania, jest proste do wykonania. Dlaczego masz uczyć system szablonów, jak ma połączyć ze sobą elementy listy zagnieżdżonej z elementami nadrzędnymi, kiedy to jest oczywiste?
- Reguła DRY – nie powtarzaj się. Dlaczego masz uczyć system szablonów, jak wyświetlać listę stron wyników za każdym razem, gdy chcesz umieścić ją w szablonie? Nie ma jedynej słusznej drogi. Masz kilka możliwych dróg rozwiązania napotkanego problemu lub wykonania interesującej Cię rzeczy. Dobieraj narzędzia do potrzeb wedle woli.
- Szablon to szablon, skrypt to skrypt. Dlaczego masz poprawiać swoje szablony za każdym razem, gdy zmieniasz silnik lub jego istotną część? Wystarczy powiadomić kompilator i niech on się zajmie dostosowaniem.
Przemyślana składnia
Open Power Template posiada przejrzystą i łatwą do zrozumienia składnię bazującą na XML-u oraz typowych językach programowania. Nie wymyślamy na nowo koła. Jeżeli wszędzie funkcję zapisuje się jako funkcja(parametry) i zapis ten rozumie każdy, kto miał do czynienia z matematyką, to nie widzimy powodu, dla którego w OPT miałoby być inaczej. Jednak biblioteka zachęca do rezygnowania z oprogramowywania wszystkich elementów szablonu samodzielnie, oferując możliwość programowania deklaratywnego. Dzięki umiejętnie dobranemu zestawowi instrukcji, zdecydowaną większość zadań możesz zrealizować, opisując po prostu, co chcesz uzyskać, natomiast określeniem, jak to ma działać, zajmuje się już kompilator. Zwiększa to przenośność kodu oraz znacząco upraszcza tworzenie szablonów.
Przemyślane API
Drugim ważnym aspektem biblioteki jest dobry interfejs programisty, bez którego korzystanie z niej byłoby niemożliwe. Także i tutaj stawiamy sobie za cel prostotę i wydajność. Do sprawnego posługiwania się biblioteką wystarczy znajomość zaledwie kilku metod oraz wiedza, jak to, co przekazujemy do parsera, przekłada się na uzyskany w przeglądarce rezultat. Open Power Template potrafi również domyślnie realizować szereg operacji niezwiązanych bezpośrednio z generowaniem kodu HTML.
Aktualny status
W chwili obecnej Open Power Template 2 znajduje się w fazie zaawansowanych beta-testów. Pierwsze stabilne wydanie przewidziane jest na wiosnę 2009.