Który framework PHP?

W pracy siedzę na firmowym frameworku. W wolnej chwili chciałbym poznać jakiś inny, tak aby móc porobić coś z własnych pomysłów. Po głowie chodzą mi trzy frameworki:

  • Symfony
  • Kohana
  • CakePHP

Który z nich jest warto większej uwagi. Nie chciałbym, żeby to była kobyła pokroju Zenda. Poza tym chciałbym móc w miarę łatwo zmieniać pewne rzeczy itd. Generalnie proszę o wypowiedzenie się, dlaczego ten, a nie inny framework :)

41 Responses to “Który framework PHP?”

  1. teamon July 6, 2009 at 9:47 am #

    Symfony to kobyla, pierdyliard plikow i tragiczny propel (ale ma generator admin-panel), Kohana z tego co sie orientuje nie ma orma (pogadaj z d4rkym on sie w to bawi), a cake jest wzorowany na rails (ale nie znam wiec sie nie wypowiadam)

    <flame>
    No i wiadomo przeciez ze najlepszym frameworkiem php jest Rails/Merb :P </flame>

  2. marines July 6, 2009 at 9:47 am #

    a może Yii? :> z tej trójki polecić mogę tylko Kohanę.

  3. radmen July 6, 2009 at 9:47 am #

    Marines: a co konkretnie jest w tym fajne? :)

  4. marines July 6, 2009 at 9:47 am #

    w czym? w Kohanie? przede wszystkim lekkość. paczka z kohaną waży kilkaset KB, zamiast kilku MB jak w przypadku innych frameworków. poza tym znacznie łatwiej było mi zacząć pisanie w Kohanie niż w Cake. jak dla mnie Kohana jest prostsza. Symfony nie próbowałem, bo odstraszył mnie rozmiar paczki. ;]

  5. radmen July 6, 2009 at 9:47 am #

    Marines: mam na myśli Yii. Korzystałeś z tego ? :)

  6. marines July 6, 2009 at 9:47 am #

    a, nie korzystałem. przeczytałem o tym z pół roku temu, obadałem kilka tutoriali, ale nie miałem czasu na napisanie w tym czegokolwiek. jednak wydaje się interesujący i warty uwagi.

  7. radmen July 6, 2009 at 9:47 am #

    W takim razie dopisuję, tak żeby o nim nie zapomnieć.

  8. after.design July 6, 2009 at 9:47 am #

    To może Zend Framework ?

  9. radmen July 6, 2009 at 9:47 am #

    A czy przypadkiem napisałem, żeby to nie była kobyla pokroju Zenda?

  10. after.design July 6, 2009 at 9:47 am #

    Hym. Ale Zend nie jest kobyłą ;]
    A tak serio jakoś nie doczytałem, sory :]

  11. radmen July 6, 2009 at 9:47 am #

    after.design: spoko nie ma problemu. Kiedyś korzystałem z Zenda i nie zabardzo mi się spodobał. Właśnie dlatego szukam jakiejś fajnej alternatywy.

  12. jachacy July 6, 2009 at 9:47 am #

    Kohana ma ORM

  13. after.design July 6, 2009 at 9:47 am #

    radmen: pracujemy w firmie na Zendzie od dawna i powiem Ci szczerze, że zmiany jakie doszły obecnie (czyli do wersji 1.8.x) są zaskakujące i naprawdę warto przejrzeć quick start , żeby zobaczyć jak uprościli niektóre rzeczy aby małe projekty można było dużo szybciej zrobić.

  14. occulkot July 6, 2009 at 9:47 am #

    Ja wlasnie z symfony na Zend uciekam. Najchetniej bym w ogole z PHP zrezygnowal – ale “polityka” nie pozwala ;) .

    Symfony generuje kosmiczne ilosci kodu, poza tym pojawia sie problem gdy chemy troche bardziej zaawansowana mechanike – niz domyslna – zastosowac.

    Ze o nieczytelnym (imo) generowaniu formularzy w sfForm nawet nie bede wspominal.

  15. Luken July 6, 2009 at 9:47 am #

    Z tych wymienionych Kohana. Także za lekkość i prostotę. ;)

  16. radmen July 6, 2009 at 9:47 am #

    A jeszcze taki mały OT – czy w/w frameworki mają jakieś dodatki co do samych formularzy? :) Wiem, że Zend posiadał cały mechanizm filtrowania danych przychodzących, jak to wygląda u pozostałych frameworków?
    Mam na myśli walidację, tworzenie, obsługę błedów etc :P

  17. marines July 6, 2009 at 9:47 am #

    nie wiem jak reszta, ale budowanie i obsuga formularzy w Kohanie jest daleka od doskonałości.

  18. BTM July 6, 2009 at 9:47 am #

    “(…) Zendzie od dawna i powiem Ci szczerze, że zmiany jakie doszły obecnie (czyli do wersji 1.8.x) są zaskakujące i naprawdę warto przejrzeć quick start , żeby zobaczyć jak uprościli niektóre rzeczy aby małe projekty można było dużo szybciej zrobić.”

    // z podanego linka

    “class Bootstrap extends Zend_Application_Bootstrap_Bootstrap”
    W tym miejscu się poddałem ;-)

    Ogólnie zgodzę się z większością – Kohana wygląda obiecująco, szczególnie że ostatnio spodobały mi się event-driven rozwiązania i w swoim własnym frameworku już po mału wdrażam.

  19. occulkot July 6, 2009 at 9:47 am #

    @radnem: symfony posiada calkiem fajny system. Sprobowali przeniesc forms z django na PHP. Niestety przez skladnie jezyka i zamysly programistow jest to imo strasznie nieczytelne. szczegolnie dodawanie walidacji.

  20. D4rky July 6, 2009 at 9:47 am #

    teamon – Kohana PHP juz ma ORMa, ale jakiej jakosci to ci nie powiem, dawno nie uzywalem ;)
    Co do Frameworków to kiedyś podobał mi się (z założeń) Jelix, ale angielsko-francuska dokumentacja mnie odstraszyła ;) Obiecywali, że będzie lepiej, więc sprawdzić można.

  21. radmen July 6, 2009 at 9:47 am #

    Jelix wygląda ciekawie. W takim razie poza Kohaną powienienem sprawdzić Jelixa i Yii (choć to ostatnie mało mi się spodobało sądząc po dokumentacji).. Dzisiaj może chwilę posiedzę i pobróbuję.

  22. D4rky July 6, 2009 at 9:47 am #

    radmen – WASP wygladal fajnie, ale ostatnia wersja jest z 2006 roku. Nie ufam skryptom, ktore nie sa rozwijane ;)

  23. radmen July 6, 2009 at 9:47 am #

    Nie Ty jeden :P

  24. D4rky July 6, 2009 at 9:47 am #

    radmen – jeśli jesteś kompletnie szalony to spróbuj PHP on TRAX :P

  25. Chris Bujok July 6, 2009 at 9:47 am #

    Moim zdaniem Symfony. Możliwość instalacji przez PEAR, SVG, lub ściągnięcie gotowego, pustego projektu “sandbox”. Do budowania projektu/aplikacji/modułów z poziomu linii poleceń można się przyzwyczaić, a moim zdaniem jest to nawet wygodne, a także ułatwia oraz przyśpiesza pracę. Modele danych (i konfigurację strony, routing itd) opisujesz w YAML’u (niektórzy mówią, że to wada symfony, ale moim zdaniem bardzo fajnie jest). Propel, Doctrine – do wyboru. Admin-generator. Ogólnie, polecam ;)

  26. byatch July 6, 2009 at 9:47 am #

    Symfony + Doctrine

  27. wzs July 6, 2009 at 9:47 am #

    Ja troche bawilem sie Kohana, ale… jakiekolwiek oferty pracy dla programisty PHP – znajomość Zend/symfony/CakePHP. To chyba jednak inna skala.

    Ze dwa dni temu zabralem sie jednak za symfony ;)

  28. radmen July 6, 2009 at 9:47 am #

    wzs: pracę stałą mam :P Bardziej na własne potrzeby szukam :)

  29. xardas July 6, 2009 at 9:47 am #

    Symfony + Doctrine FTW. Framework formularzy jest genialny, Propel to faktycznie dno i metr mułu (wydajnościowo to już w ogóle) w porównaniu do Doctrine.
    I wcale nie jest takie wolne, jak mówią. Chyba, że w “hello, world”.
    W pracy używamy teraz ZF+Doctrine, natomiast wszystkie prywatne projekty wykonuję w Symfony, więc mam pewne rozeznanie. Generalnie wychodzi tak, że prawie każdy aspekt SF wydaje mi się lepszy, Zend przoduje za to w:
    - validacji
    - cache (znaaacznie wygodniejsze)
    - “decoupling” (nie znam polskiego odpowiednika, polega na tym, że większość komponentów można wykorzystać osobno)

  30. occulkot July 6, 2009 at 9:47 am #

    @xardas: dla ciebie konfiguracja formularzy w sfforms jest wygodna? Mnie troche nie podoba sie ilosc kodu jaka trzeba tam utworzyc. Ja wiem ze to wina php i ze nie dalo sie tego zrobic az tak ladnie jak w pythonie (django.forms) ale wydaje mi sie ze mogli to zrobic tak zeby bylo bardziej czytelne.

  31. xardas July 6, 2009 at 9:47 am #

    Na początku nie była. Ale w projekcie, gdzie klas formularzy tworzy się 50-100..zaczyna być cholernie wygodna :)
    Tylko, że to już nie są księgi gości ani strony swojej szkoły średniej. Tam zwykły <form> starczy.

  32. occulkot July 6, 2009 at 9:47 am #

    @xardas: no ja wlasnie o tym mowie. Przy wiekszych formularzach – na np. 20 pol to juz sie robi strasznie nieczytelne – tym bardziej gdy wprowadzamy walidacje powiazana miedzy polami. Nie wiem – moze mam jakies spaczenie ale jak widze te tablice do definicji widgetow i potem do definicji walidacji to mi sie niedobrze robi ;) .

    Imo powinni pojsc w strone definiowania walidacji dla konretnego typu pola – tak jak to jest w django. Polowa mniej roboty przy wiekszosci formularzy.
    Aczkolwiek milo ze wzoruja sie na czyms wygodnym :D

  33. xardas July 6, 2009 at 9:47 am #

    Jasne. Tak jak napisałem wyżej, “łańcuchowanie” (ang. chaining) w Zendzie akurat wymiata pod tym względem..
    pole->setLabel(‘whatever’)->addValidator()..>addValidator()>cokolwiek()

    Mimo wszystko pod względem wygody jest genialne. Ja czekam na php5.3 i możliwość wykorzystania domknięć (closures, funkcje lambda) jako walidatorów..to będzie coś :)

  34. lulz July 6, 2009 at 9:47 am #

    lrn2coldfusion lames

  35. Dziemian July 6, 2009 at 9:47 am #

    Nikt nie powiedział CodeIgniter?

    http://codeigniter.com/

  36. marines July 6, 2009 at 9:47 am #

    już chyba czas CI dobiega końca, nieprawdaż?

  37. D4rky July 6, 2009 at 9:47 am #

    Dziemian – podalismy Kohana PHP, po co sie uwsteczniac? Oo”

  38. D4rky July 6, 2009 at 9:47 am #

    A zeby nikt nie potraktowal tego co napisalem jako trolling: chodzi mi o to:
    Server Requirements
    * PHP version 4.3.2 or newer.

    …PHP4? W 2009?

  39. radmen July 6, 2009 at 9:47 am #

    D4: oj to też taki zapis, że w razie czego podziała na starszym PHPie :P

  40. peter July 6, 2009 at 9:47 am #

    Yiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii polecam :)

  41. Hemohes July 6, 2009 at 9:47 am #

    Jest nowa książka porównująca frameworki. Tym razem po angielsku, ale pisana przez Polaków, więc pewnie będą ją tłumaczyć ;)
    http://www.amazon.com/Building-Applications-Symfony-CakePHP-Framework/dp/0470887346/