Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zend Framework 2 opinie
viking
post
Post #1





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Jako że niedawno nastąpiła premiera ZF2 i coś tak bez żadnego echa przeszła na forum chciałbym was zapytać jak się na ten nowy framework zapatrujecie? Ja śledzę od dłuższego czasu postępy prac i wprowadzane zmiany i szczerze mówiąc mam ochotę przejść na Symfony2 po wydaniu wersji finalnej (tym bardziej że kiedyś napisałem małą aplikację na Silex i wspominam bardzo miło). Całość jest przekombinowana. Rzeczy do tej pory proste w pisaniu to teraz cała masa nadmiarowego kodu w sporej części wynikłego z ogólnych wad PHP, a zwłaszcza skopanych maksymalnie namespace'ów. Złe wrażenie sprawia też marna dokumentacja, póki co w sporej części wygląda jak copy-paste kodu frameworka.


--------------------
Go to the top of the page
+Quote Post
3 Stron V   1 2 3 >  
Start new topic
Odpowiedzi (1 - 19)
ixox
post
Post #2





Grupa: Zarejestrowani
Postów: 51
Pomógł: 13
Dołączył: 8.09.2012

Ostrzeżenie: (0%)
-----


Przejrzałem nowego Zend Frameworka i wydaje mi się strasznie przekombinowany. Jak widzę to konfigurację na tablicach wielowymiarowych to aż coś mi się dzieje. Zdefiniowanie zwykłego routingu jest skomplikowane. A o podpowiedzi kody nie ma mowy, ponieważ są to tablice.
  1. 'router' => array(
  2. 'routes' => array(
  3. 'album' => array(
  4. 'type' => 'segment',
  5. 'options' => array(
  6. 'route' => '/album[/:action][/:id]',
  7. 'constraints' => array(
  8. 'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
  9. 'id' => '[0-9]+',
  10. ),
  11. 'defaults' => array(
  12. 'controller' => 'Album\Controller\Album',
  13. 'action' => 'index',
  14. ),
  15. ),
  16. ),
  17. ),
  18. ),

Też się zastanawiam nad Symfony2. Ktoś kiedyś napisał, że w Symfony2 jest skomplikowany routing ale w porównaniu z Zendem jest jasny i przejrzysty.
  1. blog_show:
  2. pattern: /blog/{slug}
  3. defaults: { _controller: AcmeBlogBundle:Blog:show }

To tylko jeden przykład, a znalazło by się jeszcze kilka.
Może się coś zmieni. Nie wiecie może czy będzie coś takiego jak Zend_Tool?
Go to the top of the page
+Quote Post
Szymciosek
post
Post #3





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Dokładnie tak wygląda routing w Symfony, ten przykład akurat dotyczy routingu w YAML, a jest jeszcze w XML, PHP oraz Adnotacjach.
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Oba frameworki są przekombinowane ;d
W symfony routing też potrafi wyglądać na skomplikowany:
  1. use Symfony\Component\Routing\RouteCollection;
  2. use Symfony\Component\Routing\Route;
  3.  
  4. $collection = new RouteCollection();
  5. $collection->add('homepage', new Route('/articles/{culture}/{year}/{title}.{_format}', array(
  6. '_controller' => 'AcmeDemoBundle:Article:show',
  7. '_format' => 'html',
  8. ), array(
  9. 'culture' => 'en|fr',
  10. '_format' => 'html|rss',
  11. 'year' => '\d+',
  12. )));
  13.  
  14. return $collection;

Ale teraz jest na to moda wink.gif
Go to the top of the page
+Quote Post
Szymciosek
post
Post #5





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Pewnie można to załatwić łatwiejszym sposobem, są do wyboru w końcu 4.
Go to the top of the page
+Quote Post
Spawnm
post
Post #6





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Da się, w YAML będzie to:
  1. article_show:
  2. pattern: /articles/{culture}/{year}/{title}.{_format}
  3. defaults: { _controller: AcmeDemoBundle:Article:show, _format: html }
  4. requirements:
  5. culture: en|fr
  6. _format: html|rss
  7. year: \d+

Co w sumie jest równie skomplikowane.

Po dokładnym przyjrzeniu się routingowi zenda muszę powiedzieć że jednak jest fajny smile.gif
Go to the top of the page
+Quote Post
Szymciosek
post
Post #7





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Do każdego da się przyzwyczaić jaki by nie był wink.gif
Go to the top of the page
+Quote Post
usb2.0
post
Post #8





Grupa: Zarejestrowani
Postów: 341
Pomógł: 25
Dołączył: 28.09.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Adnotacje są spoko, może trochę wiecej kodu w kontrolerze wyjdzie jak dużo akcji jest, ale wszystko w jednym pliku, jak się nazwe akcji zapomni nie trzeba latać do pliku z routingiem:P
yaml wg w symfony 2 tylko do configu i może validatorów

Ten post edytował usb2.0 8.09.2012, 11:08:00
Go to the top of the page
+Quote Post
viking
post
Post #9





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


I oprócz tego że routing Zenda wygląda na mocno skomplikowany dalej mu trochę brakuje. Np translated routes ma się pojawić dopiero ponownie w v2.1. Widziałem też że już ludzie narzekają na błędy (których całe mnóstwo w dalszym ciągu jest) i braki. To nie wygląda niestety jeszcze jak finalny produkt. Pewnie z pół roku będzie trzeba odczekać przed zastosowaniem produkcyjnym. Śmieszne jest to że kiedyś rozmawiałem z O'Phinney'em o DI i też mu zwróciłem uwagę że to jest przekombinowana kobyła którą ciężko będzie zrozumieć i używać i mimo że bronił swego stanowiska to jednak zrobił testy. I co się okazało? Że 90% czasu generowania strony zabierał właśnie DI. Jak coś wygląda na skomplikowane i są problemy żeby to ogarnąć można mieć pewność że coś jest nie tak i przełoży się to na jakość kodu.


--------------------
Go to the top of the page
+Quote Post
everth
post
Post #10





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


A jak tam sprawa z wydajnością? Na blogach pisali że beta ZF2 potrafiła być dwa razy wolniejsza od jedynki. Jak się to ma teraz? Symfony2 w końcu jest jednak szybsze od poprzednika.


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
Pilsener
post
Post #11





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Przecież nikt nie każe korzystać z tablic wielowymiarowych, można użyć .ini, .xml albo pracować na obiektach używając metod ->set.... (podobnie jest zresztą z formularzami)

I nie dogodzisz, albo ciągłe narzekanie, że nie ma tego czy tamtego a jak jest prawie wszystko to nagle system staje się przekombinowany, kolos na glinianych nogach etc. smile.gif
Go to the top of the page
+Quote Post
marcio
post
Post #12





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat(Spawnm @ 8.09.2012, 11:26:58 ) *
Da się, w YAML będzie to:
  1. article_show:
  2. pattern: /articles/{culture}/{year}/{title}.{_format}
  3. defaults: { _controller: AcmeDemoBundle:Article:show, _format: html }
  4. requirements:
  5. culture: en|fr
  6. _format: html|rss
  7. year: \d+

Co w sumie jest równie skomplikowane.

Po dokładnym przyjrzeniu się routingowi zenda muszę powiedzieć że jednak jest fajny smile.gif

A co w tym jest skomplikowanego?

Ogolnie jak dla mnie Symfony2 bije zenda2 o przynajmniej 2 glowy.Oprocz tego ze korzysta twig-a tak jak Django to ma tez kilka innych podobizn.


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
Szymciosek
post
Post #13





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Cytat(marcio @ 9.09.2012, 01:07:48 ) *
A co w tym jest skomplikowanego?

Ogolnie jak dla mnie Symfony2 bije zenda2 o przynajmniej 2 glowy.Oprocz tego ze korzysta twig-a tak jak Django to ma tez kilka innych podobizn.



Powiedz coś więcej na temat przewagi Symfony2 nad Zendem. Chętnie się czegoś dowiem ciekawego.
Go to the top of the page
+Quote Post
!*!
post
Post #14





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat(ixox @ 8.09.2012, 09:37:18 ) *
  1. 'router' => array(
  2. 'routes' => array(
  3. 'album' => array(
  4. 'type' => 'segment',
  5. 'options' => array(
  6. 'route' => '/album[/:action][/:id]',
  7. 'constraints' => array(
  8. 'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
  9. 'id' => '[0-9]+',
  10. ),
  11. 'defaults' => array(
  12. 'controller' => 'Album\Controller\Album',
  13. 'action' => 'index',
  14. ),
  15. ),
  16. ),
  17. ),
  18. ),


Dlatego punkt dla każdego kto opracuje sobie własny wink.gif Zresztą zdawało mi się czy ZF, ... , chyba można w nim dobierać komponenty jak tylko się podoba, więc nie widzę problemu z wymianą/zamianą czegokolwiek na cokolwiek innego.

Albo ma się wybrakowany, ale funkcjonalny FW pisany pod kilka osób, albo ma się przeciążony kombajn ze wszystkim dla milionów. Kwestia wyboru czego potrzebujemy.
Już to napisałem w innym temacie, ale cieszy mnie dokumentacja jaką ktoś podlinkował w newsach... w końcu docZF ma ręce i nogi, aby móc się na spokojnie w tym połapać.

marcio - również chciałbym poczytać o tych przewagach S2 na ZF2, tylko szeroko proszę.

Ten post edytował !*! 9.09.2012, 09:02:59


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
ShadowD
post
Post #15





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


W obecnej chwili brak zend_tool czy czegoś w tym guście, cz w ostateczności jakiegoś gotowego projektu z podstawowymi (index/error) i jednym modułem by można było zacząć prace od razu a nie ctrl+c z dokumentacji robić. Jestem zwolennikiem zf'a i na chwilę teraźniejszą ciężko mi jest się w tym ogarnąć, choć przyznaję że z 1 jakimś wyjątkowo dobry nie byłem.


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
ixox
post
Post #16





Grupa: Zarejestrowani
Postów: 51
Pomógł: 13
Dołączył: 8.09.2012

Ostrzeżenie: (0%)
-----


Podobno ma się pojawić takie narzędzie jak Zend_Tool. Szkoda że nie wypuścili go od razu. Czas pokaże smile.gif
Go to the top of the page
+Quote Post
marcio
post
Post #17





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Zacznijmy od tego ze routing jest prosty a zatem bardzo elastyczny do tego ma fajne opcje jak Request za pomoca ktorej opisujemy czy kontroler ma sie odpalic dla zadanie Get/Post bardzo przydatna funkcjonalnosc.

Twig jest super sprawa znam go juz z django i bardzo go sobie chwale.Jest prosty w nauce i pozwala dziedziczyc sobie widoki czego implementacja widokow symfony2 w PHP nie ma(z tego co pamietam).
Pisanie rozszerzen w twig-u to trudnych rzeczy nie nalezy, potrzebujemy uzyc jakiegos bundl-a w widoku piszemy sobie rozszerzenia i odpalamy jako funkcje w szablonie i woila!

Szybkosc symfony2 gdy mamy gotowa aplikacji i odpalimy ja w srodowisku produkcyjnym to chodzi jak burza.

Bundle wspaniala rzecz, w symfony wszystko jest bundlem nawet nasza aplikacja(nie tylko jej osobne moduly).
Bundle sa latwe w stworzeniu i utrzymaniu.Architektura katalogow tez jest wporzadku latwo jest sie polapac co gdzie jest.

Tworzenie formularzy tez jest proste i intuicyjne.
Zeby spersonalizowac formularz nie uzywamy dekoratorow/behaviour tak jak to mialo miejsce np w zend/symfony 1.x(chyba).Wszystko dzieje sie widoku dziedziczymy po jakims elemencie formularza i go rozszerzamy jak chcemy.

Profiler jak przystalo sprawuje sie dobrze ale pamietam ze Kohana 2.x tez go miala wiec nie jest to jakis wynalazek.

Doctrine z poczatku trzeba sie przyzwyczaic bo nie wiedzialem o co kaman ale podoba mi sie.
Sprawa wykorzystywania klas Encji by pobierac/usuwac/edytowac wpisy z bazy danych tez jest dobrze przemyslana.o wiele lepiej sie to sprawuje niz pospolity Model.

security.yml w latwy sposob mozna sobie zabezpieczyc PA/kontrolery choc wedlug mnie latwo sie z tego nie korzysta to jednak jest to fajne rozwiazanie.

Tworzenie konfiguracji bundli tez jest latwe i przejrzyste.
Do tego tak jak w django kazdy bundle moze trzymac routing/konfiguracje we wlasnych plikach(czyli w katalogu bundla) i potem je include-owac do glownych plikow konfiguracyjnych.

Do tego mam dokumentacje w jezyku Wloskim wiec czego wiecej chciec chyba zadan Fw tego nie oferuje wink.gif

To tak na tyle.
Jest tez duzo wiecej innych rzeczy ktore teraz nie przychodza mi do glowy.

P.S nie zapominajac o tym ze w symfony2 mamy wszystko out-of-the-box bez wiekszej konfiguracji w kilka minut mamy juz dzialajacy fw

Ten post edytował marcio 9.09.2012, 11:48:07


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
!*!
post
Post #18





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Co to w zasadzie jest/ma być ten Zend_Tool ?

Cytat
Szybkosc symfony2 gdy mamy gotowa aplikacji i odpalimy ja w srodowisku produkcyjnym to chodzi jak burza.

A w ZF czy innych to nie? Przecież od tego min. jest ten status wink.gif


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
marcio
post
Post #19





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat(!*! @ 9.09.2012, 14:59:22 ) *
Co to w zasadzie jest/ma być ten Zend_Tool ?


A w ZF czy innych to nie? Przecież od tego min. jest ten status ;)

Tzn nie rozumiem?Status czego?


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
!*!
post
Post #20





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


status == tryb uruchomienia aplikacji.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:58