Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony][ZF][ZendFramework]Framework - który najbardziej RAD?
Forum PHP.pl > Forum > PHP > Frameworki
athabus
Od około ~3-4 lat rozwijam swój własny skrypt sklepu internetowego. Próbowałem już 2-3 razy przejść na jakieś gotowe rozwiązanie, bo rozwój takiego projektu to strasznie czasochłonne zajęcia, a platforma na jakiej go rozwijam (SF 1.0) już się pokryła kurzem. Niestety nawet takie kobyły jak Magento nie są w stanie zaspokoić moich potrzeb, albo jak już są to koszt wdrożenia przekracza mój budżet. Samo odtworzenie rzeczy, które mam w swoim sklepie (i to nie do końca tak jakbym chciał) wyceniono mi na kilkadziesiąt tysięcy ;-(

Tak więc dorastam do decyzji o przepisaniu mojego rozwiązania na nowy framework. Szukam rozwiązania, które umożliwi mi jak najbardziej zautomatyzowanie CRUD (w konfiguracjach z powiązanymi tabelami i takie tam). Backend (czyli to co w sklepie zajmuje najwięcej czasu) w symfony 1.0 oparłem o "admin genarator". Niemniej w wersji 1.0 jest to dość ograniczone rozwiązanie. Wersja 1.4 jest pod tym względem dużo bardziej zaawansowana, dzięki oddzielnemu frameworkowi dla formularzy - po jego zgłębieniu nie ma rzeczy niemożliwych w admin generatorze. Niemniej wersja 1.4 jest już obecnie stara i boję się, że za rok będę miał podobny problem - tj. znów będę musiał myśleć o migracji. Chciałbym mieć jakieś 5-6 lat na rozwój tego projektu.

I tu pojawia się pytanie - jaki framework obecnie pozwala w największym stopniu pisać szybko backend w oparciu o generatory/formularze itp. Sprawy typu wydajność, skomplikowanie frameworka itp nie mają dla mnie znaczenia, bo 90% pracy w sklepie opiera się o backend właśnie. Frontend sklepu w zasadzie jest banalny do napisania. Kluczem dla mnie jest czas, którego nie mam zbyt wiele.

W temacie FW zatrzymałem się na SF 1.4, bo obecnie rozwijam tylko dwa projekty - jeden w sf1.0 i jeden w sf 1.4
XP'ek
Ja bym Ci polecił Code Ignitera smile.gif według mnie jest bardzo dobry smile.gif jeśli odpowiednio go przygotujesz sobie to naprawdę możesz dużo zrobić i według mnie główna zaleta mała waga smile.gif
athabus
CI zupełnie odpada w takim zastosowaniu. Co prawda znam go dość kiepsko, ale z tego co pamiętam nie ma on nawet frameworka do obsługi formularzy, nie mówiąc już o generowaniu podstawowych akcji. Zdaje się, że jest tam jedynie zwykły CRUD bez możliwości większych modyfikacji.

W Symfony 1.4 np. każda tabela w bazie ma swój własny formularz edycyjny wraz z logiką typu CRUD, z którego w prosty sposób można dziedziczyć formularze dostosowane do konkretnych potrzeb, rozszerzać o współpracę z innymi tabelami itp. W zasadzie gdyby nie to, że SF 1.4 nie jest już rozwijany to zdecydowałbym się na to rozwiązanie, ale to nie ma sensu bo za dwa lata znajdę się w tym samym miejscu, w którym jestem teraz.

Takie rzeczy jak waga, szybkość działania itp nie mają dla mnie większego znaczenia, bo i tak projekt stoi na osobnej maszynie, którą w razie czego mogę po prostu upgradować. Stawiam na szybkość pracy/łatwość rozwoju.
Crozin
Myślę, że Symfony2 wraz z paczkami od SonataProject (patrz: SonataAdminBundle) i FriendsOfSymfony może być tym czego szukasz.

Nie mniej jednak jest już wątek n/t wyboru FW/platformy i myślę, że to tam powinna zostać przeniesiona ta dyskusja.
athabus
Crozin dzięki, przyjrzę się tym paczkom. Masz porównanie tego z admin generatorem z Symfony 1.x? Oceniłbyś, że działa to lepiej/gorzej niż w starej wersji?

Co do przeniesienia to pozwolę sobie nie zgodzić się. Mi nie chodzi o to, który framework jest lepszy (bo większość tematów zaczyna się od tego pytania) tylko, który ma najlepsze/najbardziej elastyczne wsparcie do obsługi formularzy/crud i generatorów kodu. Myślę, że pytanie jest na tyle szczegółowe, że raczej nie pasuje do tematy ogólnego. Oczywiście jeśli moderator uzna inaczej to przyjmę to z pokorą ;-)
Crozin
Z tego typu generatorów, korzystałem tylko raz, jeszcze przy Sf1.2 bądź 1.4 (już nawet nie pamiętam) - ciężko mi wypowiedzieć się w jakikolwiek sposób na ich temat.
m44
Cytat(athabus @ 2.11.2012, 15:56:32 ) *
Crozin dzięki, przyjrzę się tym paczkom. Masz porównanie tego z admin generatorem z Symfony 1.x? Oceniłbyś, że działa to lepiej/gorzej niż w starej wersji?

Co do przeniesienia to pozwolę sobie nie zgodzić się. Mi nie chodzi o to, który framework jest lepszy (bo większość tematów zaczyna się od tego pytania) tylko, który ma najlepsze/najbardziej elastyczne wsparcie do obsługi formularzy/crud i generatorów kodu. Myślę, że pytanie jest na tyle szczegółowe, że raczej nie pasuje do tematy ogólnego. Oczywiście jeśli moderator uzna inaczej to przyjmę to z pokorą ;-)


Jeśli chodzi o Sonatę i FOS, działa to trochę inaczej niż w Symfony 1.4, ale jednak podobnie.

Możesz szybko wygenerować sobie panel administracyjny poprzez rozszerzenie klasy bazowej. Tam już sobie nadpisujesz metody odpowiadające np. za edycję, podgląd rekordu, czy wyświetlanie elementów na liście.
Nie działa to tak jak w Symfony 1.4, że większość rzeczy konfigurujesz w yml, tylko robisz to wewnątrz klasy. Różnego rodzaju zależności, dodawanie dodatkowych obiektów robisz za pomocą kontenera usług. Samo skonfigurowanie elementu panelu administracyjnego również odbywa się poprzez serwisy. Jeśli jednak byleś przyzwyczajony do starego generatora z poprzedniej wersji Symfony, to za pierwszym razem możesz być niemiło zaskoczony, ale później człek się szybko przyzwyczaja i całkiem przyjemnie się nad tym pracuje. Masz tam od razu gotowe paczki np. do użytkowników i mediów, co bardzo się przydaje.

Ma to jednak jedną zasadniczą wadę - dokumentacja. Nie wszystko jest czarno na białym opisane, do wielu rzeczy trzeba dochodzić samemu przez analizę kodu, szczególnie od Sonaty.

Ze wszystkich dostępnych narzędzi polecałbym Symfony2, ZF2, Kohana i inne frameworki nie mają chyba od razu gotowych do pracy narzędzi wspomagających te czynności o których pisałeś.
W Symfony2 z dodatkiem z kilkoma paczkami możesz od razu pracować na projektem.
phpion
W Yii również wygenerujesz sobie backend. Warto przyjrzeć się temu frameworkowi. Zobacz:
http://www.yiiframework.com/screencasts/ (Yii Tour - 3rd Stop: CRUD County)
athabus
Symfony2 mnie bardzo kusi i chyba ostatecznie na niego się zdecyduję. Szkoda tylko, że trzeba zaczynać naukę od nowa bo nawet ORM domyślny się zmienił. Chyba pozostaje mi klepać kod w sf1.0 i zacząć naukę sf 2 w wolnych chwilach.

Dzięki m44 za szczegółowe opisanie całej sprawy generatorów - właśnie o taką informację mi chodziło. Odnoszę wrażenie, że sf2 jest bardziej elastyczny, ale chyba pisanie będzie zajmowało więcej czasu, bo więcej trzeba go poświęcić na poskładanie klocków do kupy.

YII też muszę obejrzeć w wolnej chwili, bo w sumie doświadczenie wyniesione z sf1 nic mi nie da i naukę i tak muszę zacząć od zera.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.