Sep 07 2008

Kohanaphp - nie polecam

Category: php, kohanaSebastian Bobrowski @ 3:21 pm

Ostatnio z powodów niezależnych od siebie musiałem pogrzebać w aplikacji napisanej w php. Serwis, który miałem poprawić został zbudowany na bazie kohanaphp. Kiedyś byłem całkiem zadowolony z używania CodeIgnitera, wiec miałem nadzieję, że i tym razem będzie podobnie. Kohana jest właśnie następcą CodeIgnitera, tylko z użyciem wszystkich dobrodziejstw php5.

I właśnie tutaj dobre wrażenia się skończyły. Wszystko niby podobne do railsów, niby też ORM, niby widoki, kontrolery, jednak różnica jest znaczna. Pewnie przyzwyczaiłem sie już do jakość kodowania jaką dają Railsy, ale nie zmienia to faktu, że kohana jest dość oporna.

Pierwsze minusy jakie odczułem *

  • Szablon - nie wiadomo co się renderuje, nie ma domyślnego pliku w który w ciemno można patrzyć. Za każdym razem trzeba sprawdzać w kontrolerze, jaki to plik szablonu używamy
  • Zmienne z kontrolera nie są widoczne w widoku, trzeba je w jawny sposób do niego przekazać. **
  • Słaba konfiguracja adresów url. Nie udało mi się ich tak skonfigurować abym mógł uzyskać efekt: domena.pl/tytul-aktualnosci. Granica możliwości, które wycinałem było domena.pl/tytul-aktualnosci/aktualnosci. W Railsach oczywiście jest to możliwe.
  • Brak generatorów kodu, podobno frameworki phpowe już mają, jednak w kohanie się nie doszukałem

* Niekompletne dokumentacja od początku mnie odrzuciła. Możliwe, że opisane poniżej kwestie są juz rozwiązane tylko jeszcze nie opisane w dokumentacji.

** nie jest tak źle jak w CodeIgniterze, że zmienne przekazuje się w tablicy razem poleceniem renderowania widoku. Tutaj można zmienne dokładać w miare poczeb podczas metody. Jednak po pierwsze zwiększa to ilość pisanego niepotrzebnie kodu, a po drugie zmusza do zastanawiania się co będzie potrzebne a co nie. Możliwe, że zwiększa to wydajność aplikacji, bo programisty na pewno nie.

Podsumowanie

Pierwsze wrażenia są raczej negatywne, jednak pracowałem z narzędziem zaledwie 2 dni, być może dla phpowców to duży krok do przodu, dla tych co posmakowali Railsów to raczej mocno odgrzewane danie.