Invenzzia »

Invenzzia

PHP development group

Invenzzia » Projekty OpenSource

Projekty open-source

Open Power Template

Open Power Template to znany już wielu polskim programistom system szablonów dla PHP5. Jego zadaniem jest łączenie wyników działania skryptu z kodem HTML, dzięki czemu internauta może oglądać na ekranie kompletną stronę WWW. W ramach grupy Invenzzia opracowywana jest od zera zupełnie nowa wersja cechująca się nowymi możliwościami, zwiększoną wydajnością oraz lepszym interfejsem programistycznym. Open Power Template prezentuje zupełnie inne podejście do kwestii systemów szablonów, które sprawia, że ich używanie ma znacznie większy sens oraz jest rzeczywiście wygodniejsze. Poprzez obserwacje oraz kilkuletnią praktykę wyróżniliśmy szereg zadań wykonywanych po stronie szablonów, a następnie wszystkie oprogramowaliśmy, dzięki czemu twórca szablonów może się skupić na tym, co szablon ma wyświetlać, a nie jak ma to robić. Ponadto dodaliśmy do tego kilka reguł łączenia tych niedużych klocków ze sobą, pozwalających uzyskiwać niewielkim kosztem zadziwiające rezultaty. W OPT nie ma jednej słusznej drogi wykonania jakiegoś zadania. Użytkownik może w szerokim stopniu dopasować ją do swoich potrzeb.

Open Power Template 2 to nie tylko narzędzie do osadzania wyników skryptu. Nowa wersja została wyposażona w rzeczywisty parser języka XML, dzięki czemu biblioteka może we własnym zakresie sprawdzić poprawność dostarczonego przez użytkownika kodu XHTML. Jednocześnie zachowana została możliwość pracy ze zwykłymi dokumentami tekstowymi oraz zwyczajnym HTML-em. Z innych usprawnień warto wymienić ulepszony system raportowania błędów i debugowania. W kwestii tworzenia szablonów użytkownik ma do swojej dyspozycji wiele narzędzi takich, jak sekcje, osadzanie drzew, osadzanie systemów stronicowania, wsparcie dla systemu wielojęzycznego oraz API osadzanych w szablonie komponentów pełniących zbliżoną rolę do helperów. W pełni wspiera również dziedziczenie szablonów znane z parserów dla języka Python.

Choć najnowsza wersja wciąż jest w trakcie tworzenia, już dziś możesz zapoznać się z aktualnym stanem prac dzięki częstym publikacjom wersji developerskich. Zachęcamy do ich testowania oraz nadsyłania uwag i pomysłów. Ten okres to najlepszy czas na wprowadzanie nawet drastycznych udoskonaleń, których wprowadzenie po wydaniu pierwszej wersji stabilnej może być problematyczne. Wraz z projektem powstaje polska dokumentacja oraz pierwsze tutoriale pokazujące, jak korzystać z możliwości OPTv2. Jeszcze raz zachęcamy do odwiedzenia działu “Download”!

Open Power Libs

Opisany wyżej OPT jest właściwie początkiem całej rodziny bibliotek open-source dla PHP5 przeznaczonych do realizacji wielu różnych zadań. Szczególnie skupia się ona na zagadnieniach, na których naszym zdaniem zbyt szybko postawiono krzyżyk, sugerując się konkretnymi implementacjami (np. systemy szablonów) i nie dostrzegając kierunku, w którym faktycznie można je z powodzeniem rozwinąć. Ponadto ważna jest współpraca między projektami, gdyż dwie połączone biblioteki potrafią zdziałać więcej, niż każda z nich osobno.

Niezwykle istotna jest dla nas wydajność. Nie ma sensu tworzyć bibliotek, które poprzez nieumiejętne gospodarowanie plikami czy niedopracowane algorytmy marnują cenny czas serwera. Obserwujemy projekty zarówno w perspektywie globalnej, jak i lokalnej, stosując nawet niewielkie usprawnienia, gdyż ich łączna suma może okazać się całkiem istotna.

W warsztacie znajdują się następujące biblioteki: * Open Power Forms - zintegrowana z systemem szablonów biblioteka generowania formularzy projektowana z myślą o eleganckim obsłużeniu każdej kombinacji, jaką wymarzy sobie programista. Zawiera także zaawansowany system kontroli danych wejściowych oraz wsparcie dla technologii AJAX/JS. * Open Power Database - nakładka na PDO rozbudowująca standardowy interfejs obsługi baz danych w PHP o opcje takie, jak cache’owanie wyników, zarządzanie transakcjami i blokadami czy konsolę debugową. * Open Power Utils - jest to zestaw niedużych bibliotek pomocniczych zebranych pod jednym szyldem, przeznaczonych przede wszystkim do współpracy z pozostałymi bibliotekami. W ich skład wejdzie m.in. system językowy oraz klasa stronicowania.

W miarę upływu czasu zestaw będzie rozszerzany.

Scriptman

Pierwsza wersja systemu szablonów Open Power Template zawierała niewielki skrypt narzędziowy “OPT Toolset” zawierający zewnętrzny kompilator oraz preprocesor pozwalający na usunięcie z kodu biblioteki nieużywanych opcji. Rozwinięciem tej idei będzie Scriptman - framework do zarządzania bibliotekami i kodem źródłowym projektu. Standardowe metody umożliwiające dostosowanie kodu do swoich potrzeb korzystające z wewnętrznych mechanizmów języka programowania są skuteczne, ale nierzadko zabójcze dla wydajności, np. umieszczanie każdej, nawet najmniejszej klasy w osobnym pliku (a żeby się o tym przekonać, wystarczy zrobić prosty benchmark). Ten pakiet będzie doskonałym rozwiązaniem dla osób pragnących spersonalizować kod źródłowy oraz strukturę bibliotek Open Power Libs, a także udostępnić taką możliwość w stosunku do własnych aplikacji, jako że framework będzie wspierać dowolny projekt, niekoniecznie sygnowany naszym podpisem.