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.














