Open Power Libraries » Open Power Template
Open Power Template
Open Power Template to nowoczesny system szablonów dla PHP5. Wielu polskich programistów z pewnością słyszało o nim już dawno, gdyż jest on rozwijany od ponad trzech lat. Aktualnie opracowujemy od zera zupełnie nową wersję: lepiej zaprojektowaną, wydajniejszą oraz z szeregiem nowych możliwości. Ze stanem prac możesz zapoznać się, ściągając najnowszą wersję rozwojową i analizując dostępne tam pliki testowe, a także stale uzupełnianą polską dokumentację. Ta biblioteka powstaje dla Ciebie, dlatego zachęcamy do nadsyłania uwag, propozycji, wykrytych błędów, a nawet własnych kawałków kodu. Tylko w ten sposób będzie ona dostosowana do Twoich potrzeb najlepiej, jak to tylko możliwe.
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 używania struktur programistycznych po stronie szablonów. Kluczem do tego jest zrozumienie filozofii współpracy dostępnych instrukcji.
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.
