Powoli… ale do przodu
Nie kryję, że GF (GRAD Framework) jest mocno wzorowany na Zend Framework i stanowi jego skromniejszą podróbkę. Po pierwsze dlatego, że ma on (ZF) dużą szansę przetrwać w świecie frameworków, po drugie jest całkiem dobrze przemyślany – oczywiście, zawsze można coś zrobić lepiej… a po trzecie… chciałbym stworzyć ultraszybki, nieobciążający serwera i nieprzeładowany „featuresami”, z których 90% nie jest wykorzystywana. W tej chwili GF oferuje funkcjonalność front kontrolera, kontrolera akcji, widoku, modelu, rejestru, wyjątku, obsługi requestów, bazy danych i debugger’a – a to już jest całkiem sporo.
Co jakiś czas będą się pojawiały także różne dodatkowe modele. Pierwszym z nich jest NestedTree. Jest to idea wyświetlania obiektów pogrupowanych w relacje na zasadzie „dziecko – rodzic” na zupełnie innej zasadzie. Tutaj drzewa są grupowane w przedziały dzięki czemu wyciąganie informacji z takiego drzewa odbywa się na podstawie jednego zapytania (bez żadnych dodatkowych zapytań – potrzebny nam tylko przedział) – funkcjonalny model jest już gotowy i powinien być rozszerzony do właściwego modelu, gdyż sama klasa obsługuje poruszanie się po niezbędnych parametrach. Wystarczy rozszerzyć klasę o tablicę kolumn takiego modelu (tak jak w standardowym modelu) aby w pełni funkcjonalnie korzystać z tego rozwiązania. Oczywiście przy okazji prezentacji frameworka postaram się przygotować jakiś przykład gdyż jestem zwolennikiem tego rozwiązania.
Założenie frameworka jest takie, że kosztem elastyczności i konfigurowalności… uzyskamy solidny i mocno stojący na ziemi framework, który wymusza pewien sposób pisania.. a przez to zyskujemy prostotę, czytelność i prędkość (GF nie będzie buforował całego procesu generowania strony – dzięki temu uzyskamy dużą prędkość przeglądania)
Z racji tego, że framework jest rozwijany w zasadzie tylko przez jedną osobę i na razie pozostaje wewnętrznym dobrem gruby goblix mogę sobie na takie rzeczy pozwolić – czas pokaże czy to był dobry krok.
Wersja 0.2 zbliża się dużymi krokami. Chciałbym do tej wersji zawrzeć i poprawić niektóre elementy:
- Poprawić czytelność trasowania wyjątków
- Dodać obsługę modułów (dodatkowo przerobić rewriter)
- Dodać obsługę helperów
- Dodać obsługę layoutu
Jest to oficjalny plan funkcjonalności, które powinny ukazać się do wersji 0.2. Wtedy także zaprezentuję framework na zewnątrz.
Pozdrawiam.
Rispect.. a ja się jaram że tak szybko mi poszło z tym adminem do Korei 😀 a Ty tu jakieś czary odstawiasz:P