Dziś przeczytałem
świetny wpis wyjaśniający o co chodzi w
MVC. Osobiście chciałem dodać do niego mały komentarz, który mam nadzieję pojawi się również na blogu autora.
Ja dzisiaj - nie wyobrażam sobie tworzenia stron internetowych inaczej. Osobiście jednak - nie pisałem nigdy własnego Frameworka - raz tylko pomagałem koledze, gdyż uważam, że pisanie własnego MVC to wynajdywanie koła na nowo.
O
Kohana nigdy nie słyszałem. Osobiście zaczynałem od
CodeIgniter i jest to prosty framework. Jego zaletą, która jest ważna dla początkujących, jest fakt iż posiada dobrą dokumentację i można naprawdę szybko połapać się co gdzie jest.
Na kolejny ogień poszedł
CakePHP. Tam dowiedziałem się co to jest
scaffolding. Z cech, które przemawiają za
CakePHP moim zdaniem jest na pewno obsługa drzew i
ACL, których nie spotkałem w żadnym innym frameworku. Szczególnie widać to w wersji 1.2, w której pojawiło się wsparcie dla internacjonalizacji. Szalenie również podoba mi się mechanizm "elements", który moim zdaniem bardzo ułatwia tworzenie szablonów, z różnych powtarzalnych komponentów, pod, które możemy podkładać różne dane, co szalenie skraca pracę w tworzeniu szablonów.
CakePHP posiada w najnowszej wersji mnóstwo innych bibliotek i wygląda mi na to, że obecnie jest to najlepszy framework.
Obecnie tworzę projekt z użycie
Symfony.
CakePHP w wersji 1.2 na pewno chciał doścignąć
Symfony. Moim skromnym zdaniem - przypadkiem go prześcignął. Co do symfony. Posiada mnóstwo pluginów i dużą społeczność. Używa
Propel, modele są więc generowane i dostępne ad-hoc - bez pisania jakiegokolwiek kodu. Dzięki użycia
Propel modele generowane są w bardzo inteligentny sposób. Na koniec - bez pisania nawet połowy linijki kodu - dostajemy gotowe klasy w PHP, które obsługują między innymi
CRUD oraz posiadają metody automatycznie pobierające dane z innych tabel używając złączeń. Dodatkowo są one szalenie elastyczne. Kolejna rzecz to
scaffolding,który jest naprawdę piekielnie użyteczny i pozwala w 1 minutę(naprawdę właśnie w tyle) stworzyć funkcjonalny panel administratora do prostej aplikacji. W moim przypadku problemem okazało się korzystanie z dokumentacji, która z racji niekompletności,rozstrzelenia oraz braku opisania każdego modułu od A do Z (istnieje tylko kompletny opis API) jest nieużyteczna. Z tej przyczyn prawdopodobnie do czasu aż to się nie zmieni - będę korzystał z innych frameworków. Na obronę powiem tylko, że dokumentacji, która istnieje obecnie jest dużo, niemożna narzekać na jej brak czy na nie opisanie jakiś komponentów.Projekt jest jednak tak kolosalny, że stworzenie do niego dobrej dokumentacji to nie lada wyzwanie. Na razie, w moim mniemaniu jeszcze nie udało się temu wyzwaniu sprostać.
Innym ciekawym moim zdaniem framerowkiem jest
Akelos, który jak możemy wyczytać na stronie internetowej, jest portem
Ruby On Rails napisanym w
PHP.Tyle z moich doświadczeń. Może okażą się dla kogoś pomocne w dalszej przygodzie z
MVC. Chciałem przy okazji polecić
swój artykuł, w którym również swojego czasu opisałem
MVC na blogu Matriksa.