![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 381 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.
|
|
|
![]()
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.
Też się zastanawiam nad Symfony2. Ktoś kiedyś napisał, że w Symfony2 jest skomplikowany routing ale w porównaniu z Zendem jest jasny i przejrzysty.
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? |
|
|
![]()
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.
|
|
|
![]()
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:
Ale teraz jest na to moda (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
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.
|
|
|
![]()
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:
Co w sumie jest równie skomplikowane. Po dokładnym przyjrzeniu się routingowi zenda muszę powiedzieć że jednak jest fajny (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
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ł (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
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 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 381 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.
|
|
|
![]()
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.
|
|
|
![]()
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. (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Da się, w YAML będzie to:
Co w sumie jest równie skomplikowane. Po dokładnym przyjrzeniu się routingowi zenda muszę powiedzieć że jednak jest fajny (IMG:style_emoticons/default/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. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dlatego punkt dla każdego kto opracuje sobie własny (IMG:style_emoticons/default/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 |
|
|
![]()
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.
|
|
|
![]()
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 (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
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 (IMG:style_emoticons/default/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 |
|
|
![]()
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 (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
status == tryb uruchomienia aplikacji.
|
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Chyba sie nie zrozumielismy chodzi mi o to ze Symfony2 w srodowisku finalowym jest szybkie nawet ze jest kobyla.
To ze inne fw oferuja taka opcje jak rozne srodowiska to ja wiem (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Pobrałem sobie aplikację rzekomo z tutoriala zend'a 2 i mam pytanie tutaj jest cała masa rzeczy jakie w zf 1.x były już "wbudowane" czy na prawdę to ma tak wyglądać, czy zawsze muszę mieć własny autoloader, czy za każdym razem muszę w configu samemu wpisywać kontrolery - to się robiło w 1.x jak by z automatu (istniał katalog to istniał kontroler) a tutaj jakieś śmieszne rzeczy wyczyniają nie komentując masy nadmiaru w plikach kontrolerów typu:
Czy to już tak zostanie czy ja jestem nie ogarnięty bo na prawdę staram się zrozumieć zf 2 i mocno mi nie idzie, przecież w tym się nic napisać nie da, mój ide (phpdesigner) wariuje wręczy przy podpowiadaniu składni! Umie ktoś mi powiedzieć dlaczego to tak wygląda? :-) |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 13 Dołączył: 8.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Pobrałem sobie aplikację rzekomo z tutoriala zend'a 2 i mam pytanie tutaj jest cała masa rzeczy jakie w zf 1.x były już "wbudowane" czy na prawdę to ma tak wyglądać, czy zawsze muszę mieć własny autoloader, czy za każdym razem muszę w configu samemu wpisywać kontrolery - to się robiło w 1.x jak by z automatu (istniał katalog to istniał kontroler) a tutaj jakieś śmieszne rzeczy wyczyniają nie komentując masy nadmiaru w plikach kontrolerów typu:
Czy to już tak zostanie czy ja jestem nie ogarnięty bo na prawdę staram się zrozumieć zf 2 i mocno mi nie idzie, przecież w tym się nic napisać nie da, mój ide (phpdesigner) wariuje wręczy przy podpowiadaniu składni! Umie ktoś mi powiedzieć dlaczego to tak wygląda? :-) W confingu będzie trzeba wpisywać za każdym razem. Dodajesz w ten sposób nowy moduł (tak samo jak w symfony2 bundle). W ZF2 Możesz sobie stworzyć kilka modułów, które można wykorzystać w innych aplikacjach. Namespace (przestrzenie nazwa) deklaruję się po to aby można było używać kilku klas o tej samej nazwie i uniknąć błędu tym spowodowanego. Nie jestem w stanie dokładnie tego wytłumaczyć (IMG:style_emoticons/default/smile.gif) http://php.net/manual/pl/language.namespaces.php |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 9 Dołączył: 3.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Czy taki jest ten cały framework do tworzenia frameworku? Ten post edytował red.orel 10.09.2012, 01:10:54 |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Namespace (przestrzenie nazwa) deklaruję się po to aby można było używać kilku klas o tej samej nazwie i uniknąć błędu tym spowodowanego. Nie jestem w stanie dokładnie tego wytłumaczyć (IMG:style_emoticons/default/smile.gif) http://php.net/manual/pl/language.namespaces.php Aha,
Ups, kolizja. |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 13 Dołączył: 8.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#27
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Aha,
Ups, kolizja.
(IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
(IMG:style_emoticons/default/wink.gif) Tylko widzisz. Zapierdzielasz jak jakiś upośledzony pełnymi ścieżkami na początku każdego pliku, dodając sobie od diabła roboty i do tego wielce prawdopodobne że się pomylisz przez użycie słowa kluczowego albo nazwy funkcji z globalnej przestrzeni PHP. Nawet jeśli mowa o dwóch różnych klasach to i tak musisz je aliasować no bo przecież dzięki namespece'om unikasz kolizji. Ten przykład wstawiłem specjalnie żeby pokazać jak idiotycznie rozbijane są klasy, akurat wyjątków. No ale super wypas, bo to jest lepsze niż "new Zend_Db_Exception_RuntimeException" gdzie autoloader sam rozwiążę ścieżkę która zarazem jest unikalnym identyfikatorem (IMG:style_emoticons/default/wink.gif) A później niestety błędy języka przenoszą się na frameworki. |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Boże, ludzie .... odpaliliście raz ZF2 złapaliście się za głowę bo nic z niego na tę chwilę nie rozumiecie i wylewacie żale na forum ? (IMG:style_emoticons/default/biggrin.gif) Bo właśnie tak to wygląda.
Nie mówię że jest proste, zresztą jak się nie podoba to zapraszam do innego FW (IMG:style_emoticons/default/smile.gif) Zresztą temat o porównaniach FW mamy gdzie indziej a tu się zrobił mega offtopic. 1. Symfony używa Twiga z default'a - tutaj możesz sobie od razu bez problemu podłączyć https://github.com/mtymek/ZfTwig - nie widzę problemu. 2. Skomplikowana konfiguracja .... fakt na początku się także przestraszyłem jak wielu, to samo było przy ZF1 i każdym innym frameworku - standard, kwestia przyzwyczajenia. Cytat Pobrałem sobie aplikację rzekomo z tutoriala zend'a 2 i mam pytanie tutaj jest cała masa rzeczy jakie w zf 1.x były już "wbudowane" czy na prawdę to ma tak wyglądać, czy zawsze muszę mieć własny autoloader, czy za każdym razem muszę w configu samemu wpisywać kontrolery - to się robiło w 1.x jak by z automatu (istniał katalog to istniał kontroler) a tutaj jakieś śmieszne rzeczy wyczyniają nie komentując masy nadmiaru w plikach kontrolerów typu: Własny autoloader - tak i nie, ale możesz mieć autoloader kontrolerów zachowujący się tak jak w ZF1. Więcej info tutaj I to nie są śmieszne rzeczy, autoloading_class_map używam od dawna wraz z composerem i nie mam żadnych problemów, oczywiście Zend1 kontrolery wczytuje poprzez Loader'a - nie stety, tutaj dostajemy jeszcze większą wolność, chcesz tak to masz tak chcesz lepiej i wydajniej to masz tak, zresztą jak w artykule jest podane - masz nawet od tego skrypt który zazwyczaj isę odpala przy wrzucaniu na produkcję (IMG:style_emoticons/default/smile.gif)
o_O nadmiarowe rzeczy ? To chyba nie pisałeś czegoś większego z użyciem namespaceów gdzie u mnie przy większych klasach sięga to czasami 6-8 use'ów. Zresztą, to są zwykłe use'y przyzwyczaj się (IMG:style_emoticons/default/smile.gif) Cytat Tylko widzisz. Zapierdzielasz jak jakiś upośledzony pełnymi ścieżkami na początku każdego pliku, dodając sobie od diabła roboty i do tego wielce prawdopodobne że się pomylisz przez użycie słowa kluczowego albo nazwy funkcji z globalnej przestrzeni PHP. Nawet jeśli mowa o dwóch różnych klasach to i tak musisz je aliasować no bo przecież dzięki namespece'om unikasz kolizji. Ten przykład wstawiłem specjalnie żeby pokazać jak idiotycznie rozbijane są klasy, akurat wyjątków. No ale super wypas, bo to jest lepsze niż "new Zend_Db_Exception_RuntimeException" gdzie autoloader sam rozwiążę ścieżkę która zarazem jest unikalnym identyfikatorem A później niestety błędy języka przenoszą się na frameworki. Takie rozłożenie jest moim zdaniem jak najbardziej słuszne, bo nadpisuje SPL'owe wyjątki co moim zdaniem jest super sprawą, bo mniej więcej po samym typu Exceptiona mogę rozpoznać przyczynę błędu i czy go złapać (IMG:style_emoticons/default/smile.gif) No bo chyba wszyscy już znają całą rodzinę wyjątków SPL'a (IMG:style_emoticons/default/snitch.gif)
Napisz AbstractActionController swoim, dorzuć metodę proxy do tego i tyle (IMG:style_emoticons/default/tongue.gif) PS. Sorki za mały chaos ale się strasznie nie wyspałem (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
@melkorm masz rację, ale zf2 w porównaniu do zf1 (sam szkielet aplikacji) po prostu straszy ilością rzeczy o jakich użytkownik nie musiał myśleć. Jednak większość zamian typu bootloader ładowany tylko w module, nowe widoki itd. są na prawdę przyjemne i dają się łatwiej ogarnąć niż w jedynce. :-)
Ps. Dzięki za linka. |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cytat @melkorm masz rację, ale zf2 w porównaniu do zf1 (sam szkielet aplikacji) po prostu straszy ilością rzeczy o jakich użytkownik nie musiał myśleć. Ja zawsze wychodzę z założenia że jak nie muszę myśleć o czymś co działa w tle to zawsze przychodzi moment gdy się wywali i wtedy i tak musisz się dokładnie dowiedzieć jak to działa (IMG:style_emoticons/default/smile.gif) Zresztą moim zdaniem to tylko złudzenie, zresztą konfiguracji wielokrotnie nie edytujesz, ewentualnie w pierwszych tygodniach życia projektu. A skrypty do releas'ów już i tak dawno mam popisane hooki GIT'a więc jakoś się tym nie przejmuję, jest to moim zdaniem koszt godny zapłacenia, gdzie w zamian dostajesz elastyczność i mam nadzieję wzrost wydajności, bo pomiaru stabilnego releas'u jeszcze nie ma, zresztą z tego co pamiętam mieli się na tym skupić w 2.1 albo 2.2, nie pamiętam (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#32
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Ja zawsze wychodzę z założenia że jak nie muszę myśleć o czymś co działa w tle to zawsze przychodzi moment gdy się wywali i wtedy i tak musisz się dokładnie dowiedzieć jak to działa Tak, jak najbardziej. Ale dużo lepiej i łatwiej się dowiadywać, gdy wszystko nie jest tak porozbijane. PHP, to nie Java, a nieraz mam wrażenie, że projektanci ZF(1|2) chyba o tym zapomnieli. |
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Cytat PHP, to nie Java Co przez to chcialbys powiedziec?Java wcale nie slynie z tego ze bajzlu nie ma wrecz przeciwnie |
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ale dużo lepiej i łatwiej się dowiadywać, gdy wszystko nie jest tak porozbijane. PHP, to nie Java, a nieraz mam wrażenie, że projektanci ZF(1|2) chyba o tym zapomnieli. Ogólnie, to mam inne podejście, bo lubię składać rzeczy z klocków, im drobniej tym lepiej bo łatwiej zidentyfikować potencjalne źródło problemu, a w dodatku łatwo zastąpić czymś innym - oczywiście bez popadania w jakieś skrajności (IMG:style_emoticons/default/smile.gif) (dobrym przykładem tutaj jest nawet rozbijanie typów prostych na pewne obiekty spełniające jakąś funkcjonalność np. Cena produktu w sklepie itp), ale jak już mówię, tyle stylów ilu programistów, ktoś powie że tak ktoś powie że nie, ja zawsze preferuję gdy mogę bez większych problemów wstrzykiwać pewne funkcjonalności (IMG:style_emoticons/default/smile.gif) Co do architektury, akurat tutaj więcej zastrzeżeń miałem do 1'ki, szczególnie z PluginBroker itp~ w 2 zaczyna wyglądać to jakoś znośnie, w dodatku ViewModel który może dać spore możliwości (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#35
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Co przez to chcialbys powiedziec? Że PHP jeszcze bardzo daleko do takiego uobiektowiania kodu, jaki ma Java. Ergo: podobnie wykorzystane wzorce obiektowe działają wolniej w PHP (nawet z akceleratorem) niż analogiczne w Javie (o zgrozo (IMG:style_emoticons/default/tongue.gif) ). |
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 10 Dołączył: 17.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Że PHP jeszcze bardzo daleko do takiego uobiektowiania kodu, jaki ma Java. Ergo: podobnie wykorzystane wzorce obiektowe działają wolniej w PHP (nawet z akceleratorem) niż analogiczne w Javie (o zgrozo (IMG:style_emoticons/default/tongue.gif) ). Zgodnie z cytatem: "W Javie wszystko jest obiektem, chyba, że nie jest". No a prędkość działania to bardziej wynik dojrzałej platformy jaką jest jvm. |
|
|
![]()
Post
#37
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Owszem, dlatego mam takie zdanie, a nie inne. (IMG:style_emoticons/default/tongue.gif)
A PHP jeszcze byte-compiler ma naprawdę raczkujący, więc wciskanie wzorców na siłę, to IMO nie jest zbyt dobry pomysł. |
|
|
![]()
Post
#38
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Cytat No a prędkość działania to bardziej wynik dojrzałej platformy jaką jest jvm. Platforma jak platforma, ale java jako jezyk nie jest taka wspaniala wystarczy poczytac na forach/blogach jaka opinie o niej maja. W javie zeby cos zrobic trzeba sie napisac (IMG:style_emoticons/default/wink.gif) Ja jvm istnieja szereg innych bardziej ciekawych jezykow typu scala,groovy,clojure nawet jython jest ciekawszy niz sama java poprostu kodzenie w niej wyglada na toporne(opinia koderow ktorych znam) lub czytalem wiele na ten temat. |
|
|
![]()
Post
#39
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 10 Dołączył: 17.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko zależy w jakim kontekście porównujemy języki. Jython to po prostu okrojony Python, Groovy to bardziej zabawka a Clojure (mimo, że jestem ogromnym fanem) jeszcze nie udowodnił (chyba jak każdy LISP), że można w nim pisać duże aplikacje. Scala to na razie tylko Typesafe, ale już istnieje coś poważnego. Wszystko lata świetlne za Java.
|
|
|
![]()
Post
#40
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 11.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#41
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 9 Dołączył: 3.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
? Cały framework do tworzenia frameworku? Nie rozumiem.
Wzorzec dla parametru id to [0-9]+, w jakim celu następnie rzutować wartość na int jeśli parametr musi być zgodny ze wzorcem? Ten post edytował red.orel 9.11.2012, 16:58:30 |
|
|
![]()
Post
#42
|
|
Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#43
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 9 Dołączył: 3.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kto i po co tworzy takie zapytania? Nadal nie widzę sensowności tej konstrukcji, 404 not found. Mój system może opierać się na kombinacji [0-9]{n}.
Ten post edytował red.orel 9.11.2012, 17:16:16 |
|
|
![]()
Post
#44
|
|
Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jak dla mnie to zupełnie poprawne, skoro spodziewam się wartości typu int to tak właśnie określam w kodzie , i jeszcze nigdy nie zwróciło się to przeciwko mnie.
Co jeżeli router okazałby się dziurawy ? (wiem że są to sporadyczne sytuację, ale gdyby jakimś cudem router przepuścił coś poza wzorcem miałbyś możliwą podatność). Prosta zasada nie ufać danym wysyłanym przez użyszkodnika (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#45
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 9 Dołączył: 3.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie mamy odmienne podejście do użytkowania frameworka. Ja stawiam na to że narzędzie którego używam funkcjonuje poprawnie, ewentualnie zmiany wprowadzane są na tyle szybko że prawdopodobieństwo wykorzystania ewentualnej luki jest mniejsze od chęci negowania DRY.
|
|
|
![]()
Post
#46
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Wzorzec dla parametru id to [0-9]+, w jakim celu następnie rzutować wartość na int jeśli parametr musi być zgodny ze wzorcem? Odpowiedź dał Ci d3ut3r, ale podam jeszcze jedną od siebie. Jeśli nie zrzutowałbyś tego na inta to miałbyś stringa - sprawa oczywista. Ja osobiście lubię operować na takich typach, jakich oczekuję. Jeśli na podstawie tego $id miałbym pobrać rekord z bazy to w tym miejscu używałbym inta, a nie stringa, bo ID w bazie jest liczbą całkowitą. Ot kwestia nawyku i stylu programowania. |
|
|
![]()
Post
#47
|
|
Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie widzę tutaj zaprzeczenia DRY jeżeli chcę mieć jawnie określony typ czego z $_GET nie wezmę to sobie rzutuję (IMG:style_emoticons/default/smile.gif) ale fakt ilu programistów tyle spojrzeń. Co do ufania narzędziom osobiście nie zgodzę się, gdybyś miał popularną stronę opartą o framework x i pojawił by się jakiś 0-day to bardzo prawdopodobne, że miałbyś problem zanim wyjdzie łatka a programiści zaktualizują oprogramowanie.
|
|
|
![]()
Post
#48
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
Ja stawiam na to że narzędzie którego używam funkcjonuje poprawnie a ja uważam że zasada ograniczonego zaufania obowiązuje nie tylko na drogach (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#49
|
|
Grupa: Zarejestrowani Postów: 435 Pomógł: 40 Dołączył: 16.02.2003 Skąd: Wrocław 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. No właśnie, czekamy na jakieś testy wydajności! Polecam http://framework.zend.com/wiki/display/ZFD...helearningcurve i fragment: Cytat Improve baseline performance of the framework Baseline performance of Zend Framework applications has been getting worse with almost every release; even when gains are made, new processes added in new releases lead to degradation. While ZF started as a fairly nimble framework, it is now among the slower alternatives available, when using the supplied MVC stack. The goal of ZF 2.0 is to identify causes of performance issues and implement code changes to mitigate them until ZF is competitive with any other PHP framework of similar capabilities. Goals MUST improve the baseline performance by 200-300% over the 1.x series, and competitive with the more agile full-stack frameworks currently available, including Solar and Symfony 2. MUST provide deployment-time tools for optimizing performance in production MUST provide documentation, tutorials, and examples to help developers follow best practices for performance. Czy na prawdę formularze w ZF2 będzie się obsługiwało kodem w stylu:
?! Nie ma bardziej inteligentnego, automatycznego bindowania? Niby widzę wreszcie zastosowanie adnotacji w zendzie (http://blog.james-carr.org/2012/09/09/drying-up-your-zend-framework-2-models-with-annotations/) ale ten kodzik "exchangeArray" skutecznie psuje wrażenie 'fajności' ;P |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 15:26 |