Czym ma być OPF?
OPF ma być obiektowym systemem budowy i obsługi dynamicznych formularzy. Jako programiści, określamy pola, reguły poprawności danych oraz akcję, jaka ma zostać podjęta po ich poprawnym wypełnieniu, natomiast biblioteka zajmie się całą logiką procesu przetwarzania i obsługą błędów. Od strony skryptu będzie dość podobna w użyciu do systemów, jakie już teraz można spotkać, lecz zupełnie inaczej zostanie rozwiązana sprawa prezentacji. Inne systemy generują cały kod HTML z poziomu PHP, przez co dostosowanie wyglądu formularza do potrzeb wymaga operowania skomplikowaną obiektówką, pracy na wysokim poziomie abstrakcji lub jeszcze innych bardzo dziwnych zabaw. W przeciwieństwie do nich, OPF zostanie tutaj wykonany jako nadbudówka systemu szablonów Open Power Template, wykorzystując w pełni jego mechanizmy wsparcia dla generowania formularzy (komponenty, snippety, sekcje itd.). Całość wyglądu będzie można zdefiniować i ostylować w jednym miejscu jako namacalny, normalny kod HTML i po prostu zaaplikować tam, gdzie nam to potrzebne. Jednocześnie, gdy zajdzie potrzeba, dane pole może uzyskać swój specyficzny kod, i to dokładnie w miejscu użycia. Unikamy tym samym mnożenia bytów ponad miarę i upraszczamy kod, czyniąc go łatwiejszym w zarządzaniu. Warto także wspomnieć, że OPT będzie składać takie rzeczy w trakcie kompilacji szablonów, więc całość będzie wykonywać się dużo szybciej, niż to jest możliwe w przypadku czystego PHP.
Planowane możliwości
Niektóre z planowanych możliwości:
- Warstwa logiczna traktująca formularze na równi z polami formularza, dzięki czemu będzie możliwe komponowanie większych formularzy z mniejszych.
- Duża ilość dostępnych kontrolek do wykorzystania w formularzach.
- Duża ilość przemyślanych kontrolerów poprawności danych oraz filtrów.
- Wsparcie i warstwa abstrakcji dla AJAX.
- Programista uniezależniony od konkretnej technologii obsługi formularzy w przeglądarkach. Na pewno będzie istnieć wsparcie dla Web Forms 2.0, zastanawiamy się także nad XForms, ale tu jest to uzależnione od tego, czy technologia ta będzie dalej rozwijana i implementowana.
- Bezpieczeństwo i systemy ochrony przed popularnymi atakami wykorzystującymi formularze.
- Wbudowane (acz opcjonalne) wsparcie dla Doctrine.
Rozwój biblioteki
Zważywszy, że dopiero wczoraj w repozytorium powstała struktura katalogowa dla projektu, specjalnie nie ma jeszcze co pokazywać. Niemniej, wsparcie programistów PHP potrzebne jest już teraz. Na forum grupy Invenzzia założony został temat, w którym można zgłaszać swoje sugestie i pomysły, które są bardzo mile widziane.
Jeśli chodzi o wymagania, to plany są następujące:
- PHP 5.3.0+
- OPL 2.1.0+
- OPT 2.1.0+
Na dzień dzisiejszy wydają się one wysokie, ale proces tworzenia i testów trochę zajmie i trzeba myśleć przyszłościowo. Przestrzenie nazw nie będą jeszcze wykorzystywane, ale głównie dlatego, że nie są one przewidziane do wykorzystania w OPL 2.*. Być może później po prostu przeprowadzi się konwersję i wyda wszystko jako OPL 3, ale to są póki co bardzo odległe plany.
Pierwsze wydania będą pracować jeszcze na OPT 2.0, jednak najprawdopodobniej trzeba się tam będzie nieco więcej opisać przy definiowaniu formularzy w szablonie. Dopiero w wersji 2.1 zostanie wprowadzona nowa funkcjonalność m.in. związana z formatami danych, która pozwoli na jeszcze lepszą integrację.
Zakończenie
Seria OPL powoli zaczyna wychodzić na prostą. Udało się już wydać jedną stabilną bibliotekę wraz z jądrem, trwają prace nad OPC, a teraz zaczyna się rodzić OPF. Na szczęście moce przerobowe nie są zagrożone, gdyż od niedawna w Invenzzii pojawił się nowy programista, Amadeusz "megawebmaster" Starzykiewicz, który rozpoczął przejmowanie OPC, a wcześniej pomógł też niemało przy autoloaderze OPL-a (głównie dzięki jego staraniom stał się on tak zaawansowany) i dostarczył do OPC autoloader dla modeli Doctrine, dzięki czemu integracja z tą biblioteką stała się jeszcze łatwiejsza. Tak więc wszystko posuwa się naprzód.






Napisał eRIZ w sobotę, 25 lipca 2009 o 10:57
No przyznam, że z PHP 5.3 to jednak pojechaliście... :P