Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][Symfony2]Upgradowanie do wyższych wersji, Jak to jest ze zmianą wersji Symfony
athabus
post 2.09.2014, 08:40:44
Post #1





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Hej po dłuższym rozbracie wracam do programowania w PHP.
Jak widzę troszeczkę się pozmieniało, bo zatrzymałem się na Symfony 1.4. Muszę nauczyć się nowego frameworka i wstępnie decyzja padła na Symfony 2.0 - jest dla mnie bardzo intuicyjny i prosty.

Jedyne co mnie niepokoi, to że chcę tworzyć większy projekt z nastawieniem "na lata", a z Symfony 1.x mam złe doświadczenia jeśli chodzi o upgrade na wyższe wersje. Przejście z 1.0 po kolejnych wersjach do 1.4 wymagało poprawienia większości kodu ;-( Często były to drobne poprawki - np. zmiana parametrów w kontrolerze), ale bardzo czasochłonne.
Dlatego chciałbym zapytać jak to jest z upgradowaniem projektów opartych o symfony 2.0 - czy ono też się wiąże z takimi licznymi poprawkami, czy też developrzy wyciągnęli lekcję z przeszłości?

Drugie pytanie, to zakładając, że chcę rozwijać poważniejszą aplikację powinienem pracować w oparciu o Symfony 2.5 czy 2.3(czyli obecny LTS)? Czy Upgrade jest możliwy bezpośrednio pomiędzy wersjami LTS, czy też trzeba będzie przejść ścieżkę 2.3->2.4->2.5->...->nowy LTS ?

Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
Crozin
post 2.09.2014, 09:00:58
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Pomiędzy wersjami 2.0, 2.1, 2.2, 2.3, 2.4 i 2.5 są pewne zmiany, które łamią wsteczną kompatybilność ale są one całkiem dobrze udokumentowane - https://github.com/symfony/symfony - i w praktyce wcale nie są specjalnie uciążliwe. Tam gdzie jest jakaś poważniejsza zmiana, która wymagałaby faktycznego poprawiania sporej ilości kodu dają możliwość korzystania ze starszych rozwiązań.
2. Aktualizację możesz zrobić bezpośrednio z przykładowo 2.0 do 2.5, ale musisz uwzględnić wytyczne do aktualizacji wszystkich wersji pośrednich.
3. Symfony jest już dosyć stabilne jeżeli chodzi o swoją architekturę. Osiągnęli w sumie coś mocno zbliżonego do rozwiązań znanych z C#/Javy i wątpię by w ciągu najbliższych lat jakaś rewolucja się tutaj pojawiła.
4. Staraj się w miarę możliwości aktualizować na bieżąco używany kod. O ile takie Symfony samo w sobie i za 2 lata będzie OK na wersji np. 2.2 o tyle cała masa innych bibliotek o bundle'ach nie wspominając może być niekompatybilna.
Go to the top of the page
+Quote Post
toffiak
post 2.09.2014, 09:02:07
Post #3





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

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


Jeżeli zależy Ci na długim wsparciu to tylko wydania LTS, aktualnie jest tylko jedno 2.3 zakończenie wsparcia datowane jest na połowę 2017 roku.
Jak będzie wyglądać zmiana wersji LTS na inną wersję LTS ? tego nie wiadomo napewno nie będzie to zmiana całkowicie automatyczna bez jakichkolwiek zmian w kodzie.
Jak wygląda zmiana np z wersji 2.4 na 2.5 ? najkrócej mówiąc zmiany są o wszystkich można przeczytać w plikach UPGRGADE, zalecam aktualizację co wersję np: 2.4 do 2.5 dalej do 2.6.

Z doświdczenia wiem że najwięcej kłopotów jest jednak z bundlami nie związanymi z samym frameworkiem.


--------------------
Go to the top of the page
+Quote Post
athabus
post 2.09.2014, 09:11:43
Post #4





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Faktycznie teraz mi przypomniałeś o pluginach (czy teraz bundlach) - kolejny temat do przemyśleń. Po wersji 1.0 przestałem z nich korzystać do prostych rzeczy, bo był problem z kompatybilnością po upgradach. Tylko bundle z dużą społecznością, gwarantującą szanse na rozwój projektu w przyszłości, mają sens. Jakieś pomniejsze funkcjonalności chyba jednak lepiej robić samodzielnie, jeśli projekt ma być rozwijany przez lata, bo potem rezygnacja z bundla występującego w wielu miejscach w projekcie jest problematyczna.
Go to the top of the page
+Quote Post
Crozin
post 2.09.2014, 09:54:19
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
Jakieś pomniejsze funkcjonalności chyba jednak lepiej robić samodzielnie, jeśli projekt ma być rozwijany przez lata, bo potem rezygnacja z bundla występującego w wielu miejscach w projekcie jest problematyczna.
Jeżeli jest jakiś, nawet nieduży zew. projekt, który możesz wykorzystać nie rezygnuj z niego. W najgorszym przypadku (zaniechanie rozwoju przez autora) zawsze przecież sam możesz kontynuować jego rozwój (fork) - jest to na pewno oszczędniejsze rozwiązanie.
Go to the top of the page
+Quote Post
athabus
post 2.09.2014, 10:11:45
Post #6





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Wszystko zależy kto się czym zajmuje. Ja nie jestem programistą php zawodowym, tylko raczej, że tak powiem użytkowym. Tzn. wymyślam sobie jakiś pomysł zarobkowy i tworzę pod to projekt i potem zazwyczaj rozwijam go przez x-lat. Oznacza to, że programuję relatywnie mało. Z jednej strony idealna sytuacja do wykorzystywania cudzych bibliotek, ale z drugiej raczej "oduczyłem" się korzystania z czegoś budowanego pod konkretny framework jeśli potrzebuję minimalną funkcjonalność.

Co mam na myśli - jeśli potrzebuję w projekcie prosty mechanizm logowania to wolę go napisać sam niż wykorzystywać jakiegoś bundla. Oczywiście sytuacja się zmienia, gdy potrzebuję bardzo rozbudowaną funkcjonalność obsługi użytkowników - wtedy faktycznie lepiej wykorzystać bundla typu FOSUserBundle. Teraz już nawet nie podam przykładu bo nie pamiętam o co dokładnie chodziło, ale miałem projekt napisany w symfony 1.0, który korzystał z wielu pluginów typu biblioteki multimediów itp (efekt bezkrytycznego zachłyśnięcia się możliwościami pluginów) - upgrade był praktycznie niemożliwy, bo połowa pluginów nie była rozwijana.

Oczywiście wiadomo - wtedy były inne czasy, architektura symfony 1.x się dość poważnie zmieniała, nie było w środowisku uznanych standardów, przez co powstawało wiele pluginów "jednorazowych". Teraz jest trochę inaczej, bo już jest duża społeczność i podstawowe zadania można dość bezpiecznie "obskoczyć", a na inne użyć bibliotek, które nie są tak na sztywno związane z wersją frameworka.

Oczywiście rozumiem co masz na myśli - trochę źle się może wyraziłem w pierwszym poście. Po prostu stosując bundle/pluginy trzeba się zastanowić "co zrobię z tym fantem za dwa lata".
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 20.04.2024 - 01:54