Projekty: Wpisy dotyczące prowadzonych przeze mnie rozmaitych projektów programistycznych (tak w PHP, jak i w innych językach programowania).
Projekty: Wpisy dotyczące prowadzonych przeze mnie rozmaitych projektów programistycznych (tak w PHP, jak i w innych językach programowania).
Dzisiaj rozpoczynam z eXtremem prace nad kolejną biblioteką "Open Power": Open Power Forms. Będzie to potężny system przetwarzania i obsługi wejścia HTTP zintegrowany z systemem szablonów Open Power Template.
Tak, jak zapowiadałem, w październiku ukazał się pierwszy Release Candidate systemu szablonów Open Power Template wersja 1.0.0. Tym samym plan został już prawie wykonany.
Dzisiaj kompilator OPT zaliczył poprawnie wszystkie przyszykowane dla niego testy przetwarzania wyrażeń oraz parametrów w instrukcjach. Oznacza to, że wszystko powinno być już w warunkach bojowych interpretowane zgodnie z wymogami i nie będzie już więcej niespodzianek, że coś, co pozornie działać powinno, odmawia posłuszeństwa. Jednocześnie wpadłem na pomysł, jak przetestować sam algorytm kompilujący i zabrałem się za układanie kolejnych testów.
Chciałbym oznajmić, że dnia 14.10.2005 o godzinie 20.08, po dziewięciu miesiącach prac, zaimplementowałem ostatni element układanki pt. Open Power Template 1.0.0. Wszystkie podpunkty TODO są więc już zrealizowane, zaś sama biblioteka czeka już na pierwsze wydanie Release Candidate. Czekaliśmy na to bardzo długo, teraz chyba możemy odetchnąć z ulgą i podziwiać efekt.
Choć oparty na drzewie kompilator OPT działa i ma się całkiem dobrze, jego kod niekoniecznie można nazwać eleganckim. Rzekłbym nawet, że jest to dobrze spisująca się prowizorka. Nie nadaje się ona jednak do użycia, jeśli słusznie założymy, że inni ludzie zechcą opracować swoje własne zestawy instrukcji. Podczas dnia dzisiejszego przyszedł mi do głowy pomysł, jak udoskonalić API kompilatora...
Od czasu, gdy nam brutalnie przerwano, do powrotu na antenę wydarzyło się w mym życiu kilka niezwykle istotnych zmian. Jedna z nich tyczy się projektu Open Power Board. Jakoś tak się złożyło, że półtora tygodnia temu zostałem jego... głównym prowadzącym, czyli po angielsku "Team leaderem".
Jeszcze przed wyjazdem śpieszę powiadomić, że ukazała się ostatnia już wersja developerska systemu szablonów Open Power Template 1.0.0 znanego wcześniej jako 0.2.0. Zmiany: nowy kompilator, komponenty, rozszerzona obsługa i18n. Archiwum zawiera ponadto 10 specjalnie przygotowanych przykładów ilustrujących użycie tak tych prostych, jak i zaawansowanych funkcji (komponenty, cache'owanie wyjścia HTTP itd.). Proszę o przetestowanie. Do ściągnięcia ze strony projektu.
No, jak przepowiedziałem, tak zrobiłem. Nowy kompilator szablonów do OPT jest gotowy i spisuje się znakomicie. Przypomnę, iż teraz całość kompilowana jest do drzewka, przez co instrukcje "widzą", co jest między nimi. Ta właściwość była mi potrzebna do zrobienia komponentów, które również działają dokładnie tak, jakem planował.
Zrobiłem przedwczoraj przymiarkę pod komponenty w kompilatorze OPT. Stworzyłem odpowiednie struktury i doszedłem do wniosku, że kompilacja liniowa nie za bardzo się do tego nadaje. Najważniejsze jest to, że przetwarzana instrukcja nijak nie mogła sprawdzić, jakie elementy znajdują się wewnątrz niej, że o wpłynięciu na kolejność ich przetwarzania nie wspomnę.
Pora na hardcore'a, jak to się mówi. Nie dość, że zdecydowałem, że finalna wersja 0.2.0 będzie oznaczona jednak cyferką 1.0.0, to jeszcze wpadłem na znakomity pomysł. Jeszcze raz zasiadłem nad opiniami ludzi zakochanych w WACT'ie i stwierdziłem, że w zasadzie jest możliwe stworzenie naprawdę wysokopoziomowych instrukcji w OPT, które całkowicie deklasowałyby Smarty'ego.