Dziś jest piątek, 22 sierpnia 2008 roku (z kalendarza...)

Open Power Template

Icon

12.04.2005, 18:04

Webmaster

Komentarze (0)

Powrót

Zaledwie pięć miesięcy dosyć nieregularnej pracy wystarczyło, by stworzyć system szablonów mogący śmiało konkurować ze Smarty'm. Zadziwia mnie to do dziś :). Przed przystąpieniem do prac zdawało mi się, że zadanie to będzie trudne; nachodziły mnie nawet myśli: porywasz się z motyką na słońce. Zbliża się czas wydania wersji 0.2.0 i aż śmiać mi się chce z tych obaw; praktycznie żadna się nie sprawdziła. Otóż gdy się bliżej wgryźć w parsery, okaże się, że są to skrypty o dość prostej i logicznej konstrukcji. Wcale nie ma tu wielu skomplikowanych algorytmów. Zmysł wyobraźni i zdolność do łączenia mniejszych klocków w działający mechanizm to elementy kluczowe.

Parser szablonów działa na bardzo prostej zasadzie. Dzieli on szablon HTML na "zwykły" kod oraz znaczniki dla niego. Cała zabawa polega tu na tym, by każdy z nich przetwarzać, idąc od ogółu do szczegółu. Gdy dodatkowo szablony kompilujemy, przy kolejnych uruchomieniach sprawa jest jeszcze prostsza: ładujemy taki plik wygenerowany podczas kompilacji, wrzucamy do eval'a i... gotowe.

Podczas prac nad OPT często zerkałem do dokumentacji Smarty'ego, aby zobaczyć, co on tam ma. Mimo wszystko udało mi się uniknąć stworzenia jego wiernej kopii. Choć bowiem Smarty ma wiele ciekawych możliwości, z ich implementacją i użyciem niekoniecznie muszę się zgadzać. Mnóstwo rzeczy zrobiłem więc po swojemu.

W tym tygodniu ukaże się wersja 0.2.0-dev3. Jest ona przeznaczona raczej do testów, gdyż, jak wskazuje dopisek, jest to wersja rozwojowa. Chcę ją maksymalnie dopieścić, by ostatecznie puścić ją w świat. Dodam, że na OPT 0.2.0 "jedzie" cały mój blog :).

Od poprzedniego wydania wersji rozwojowej zmian nie ma dużo. W dalszym ciągu porządkuję kod, analizując wszystkie warunki i sprawdzając, które fragmenty kodu są niezbędne, które należy ulepszyć, a które można porzucić, bo skrypt do nich nie dociera :). Ostatecznie wykańczam też API. Dodatkowo znalazłem jeden dosyć uciążliwy błąd w obsłudze sekcji. Mianowicie przez ominięcie jednej instrukcji IF skrypt traktował jako bloki sekcji także bloki globalne. Na forum OPB zamieszczona jest odpowiednia łatka dla niecierpliwych. W dalszym ciągu dochodzą mnie głosy, że występują problemy z obsługą kompresji GZip. Co ciekawe, raporty napływają wciąż od jednej i tej samej osoby. U pozostałych wszystko działa idealnie, stąd mam trudności z wychwyceniem przyczyny.

Powrót

Skomentuj

NickInformacja
E-mailTylko do użytku wewnętrznego.
WWWNie zapomnij o http://
LayoutNapisz tu, czy widzisz dzienny czy nocny layout.
WpisFormatowanie wiki
Internauto, pamiętaj! Wolność to nie samowola - dbaj o kulturę wypowiedzi oraz dyskusji w sieci.

Na Zyxist.com panuje swoboda wyrażania opinii oraz krytyki pod dowolnym adresem. Jedyny warunek: musi być ona kulturalna i rzeczowa. Na chamstwo, prostactwo lub jawne obrażanie kogokolwiek nie ma tu miejsca i takie komentarze są bardzo szybko usuwane. Jeśli zamierzasz polemizować z treścią wpisu, wpierw uważnie ją przeczytaj.

© Tomasz "Zyx" Jędrzejewski 2005 - 2008 | Wykonanych zapytań: 1 | Serwer wirtualny zapewnia