4 January 2009

Pluf - Django dla PHP 5

Dzisiaj znalazłem interesujący framework (Pluf) dla tych, dla których Django obecnie nie jest dopuszczalną opcją z racji braku Pythona w środowisku produkcyjnym.

Pluf to framework dla PHP 5.2 wzorujący się na Django. Piszę wzorujący, bo wiele elementów jest podobnych, choć nie identycznych. Choć wiele elementów jest uproszczonych, to możemy tam znaleźć:

  • prosty ORM, który zwraca obiekty! (wspominam, bo CakePHP wzorowany na Rails tego nie czyni a moim zdaniem to podstawa)
  • szablony z dziedziczeniem podobne do tych z Django (choć sam format to mniej więcej Smarty, więc historia zatacza koło ;)
  • obsługa wzorca MTV (Model-Template-View)
  • prosta migracja bazy danych
  • obsługa formularzy w stylu new forms, także tworzonych z modelu!
  • obsługa gettext
  • obsługa testów
  • obsługa cache (plikowy i memcached)
  • obsługa middleware (sesja, GA, Debug, Tidy)
  • użytkownicy, grupy i uprawnienia

Ogólnie jestem pod wrażeniem, bo jako swego czasu główny programista wewnętrznego frameworka w PHP wiem, że nie jest lekko. Sama funkcjonalność jest ciekawa, ale czytelność takiego kodu niestety mniej. Nie z winy autorów, bo w PHP trudno pozbyć się tablic asocjacyjnych na każdym kroku (brak w PHP argumentów nazwanych, a introspekcja PHP 5 rodem z Javy nie zachęca do eksperymentów z obiektami w tej materii).

Tak, jak Railsowcy, którzy utknęli w PHP mają swojego CakePHP, tak Djangowcy mają Pluf. Dokumentacja Plufa jeszcze mocno utyka, ale dzięki zgodności tylko z PHP 5.2 przyjemność użytkowania powinna być dobra.

0 komentarze:

Post a Comment