Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Kiedy używać symfony2 (i inne tego typu fw) ?
peter13135
post
Post #1





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Witam jaśnie wielmożnych formumowiczów.

Mam do was pytanie, bo tak się zdarzyło, że od pewnego czasu piszę (jednocześnie ucząc się) symfony2. Moje pierwsze wrażenie, to "ależ to kobyła". Z moich obserwacji wynika, że używa się go głównie do dużych projektów, i to takich które są pisane pod jedną konkretnę stronę. Takie joomle czy wordpressy albo phpbb czy vBulletin nie są napisane w żadnym fw (jeśli się mylę, to poprawcie).

Kieruję do was pytanie: kiedy właściwie należy użyć framerowka, a kiedy nie? A może do tych mniejszych projektów należy użyć mniejszych fw ?

Jeśli dubluję temat, to najmnocniej przepraszam i proszę o linki (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
Crozin
post
Post #2





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

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


Cytat
Moje pierwsze wrażenie, to "ależ to kobyła".
Na tle innych - niekoniecznie PHP-owych - frameworków Symfony wcale jakiś strasznie kobylasty nie jest.
Cytat
Takie joomle czy wordpressy albo phpbb czy vBulletin nie są napisane w żadnym fw (jeśli się mylę, to poprawcie).
Większość z nich powstała jeszcze przed "erą frameworków PHP". Ale z tego co kojarzę phpBB4 ma działać w oparciu właśnie o Symfony2.
Cytat
Kieruję do was pytanie: kiedy właściwie należy użyć framerowka, a kiedy nie?
Jeżeli narzędzie (tutaj: framework) w ogóle nadaje się oraz pomoże w szybszym/łatwiejszym/lepszym/tańszym wykonaniu docelowego zadania to powinno się z niego korzystać.
Cytat
A może do tych mniejszych projektów należy użyć mniejszych fw ?
Nie, nie należy. W czym przeszkadza użycie "dużego" (bardzo dziwna klasyfikacja swoją drogą) frameworka przy małym projekcie?
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%)
-----


Też się uczę właśnie Symfony2 i w sumie mogę przyłączyć się do pytania i od siebie coś dodać:

Z tego co mi wiadomo, to nie jest powiedziane, że Symfony2 - Duży FW, nadaje się tylko do dużych projektów, lecz również ma zastosowanie w mniejszych projektach/stronach, np niech sobie będzie strona, która zawiera w sobie 4 podstrony (Home, Gallery, AboutUs, Contact) i myślę, że śmiało może być ona napisana w Symfony2, oczywiście nie będziemy pod nią tworzyć 10 kontrolerów, 100 widoków, wielkiej bazy danych itd, ale nawet jeśli wykorzystujemy jeden kontroler, 4 widoki, 1 base view, a do tego dodatkowo pomocne widoki, które np pokazują nam duże zdjęcie w galerii to i tak Symfony2 się do tego nada.

Go to the top of the page
+Quote Post
skowron-line
post
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Nie ma podziału na duży i mały FW.
Do każdego projektu nadaje się FW nie ważne czy to jest Kohana czy Zend czy Symfony2, wszystko zależy od umiejętności programisty. Zend jest zbiorem wielu klas więc każdą z nich wykorzystać osobno w innym FW.

To że ktoś mówi że Symfony2 nie nadaje sie do małych projektów, a Kohana nie nadaje sie do dużych jest głupcem, bo w większości przypadków ta osoba nie potrafi podać jednego sensownego powodu dla którego dany FW nie sprawdzi się przy określonej aplikacji.

Sumując. FW zawsze i w każdej aplikacji.
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%)
-----


Znajomy mi napisał, że mały projekt zadziała z dużym FW, ale jest wtedy ładowane mnóstwo niepotrzebnych danych, uruchamia się wtedy cały fw...

"To tak jakbyś uruchomił kombajn do skoszenia trawnika"

Co o tym możecie powiedzieć ?
Go to the top of the page
+Quote Post
Crozin
post
Post #6





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

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


@Szymciosek: Przede wszystkim co z tego, że wiele niepotrzebnych rzeczy może się uruchomić?

Przy małym projekcie w większości przypadków nawet nie warto będzie bawić się w konfigurację FW celem ich wyłączenia.

Ten post edytował Crozin 29.08.2012, 15:19:39
Go to the top of the page
+Quote Post
skowron-line
post
Post #7





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(Szymciosek @ 29.08.2012, 14:14:35 ) *
Znajomy mi napisał, że mały projekt zadziała z dużym FW, ale jest wtedy ładowane mnóstwo niepotrzebnych danych, uruchamia się wtedy cały fw...

"To tak jakbyś uruchomił kombajn do skoszenia trawnika"

Co o tym możecie powiedzieć ?

Ważne jest aby wybrać narzędzie które najlepiej będzie pasowało do danego zadania.
Go to the top of the page
+Quote Post
Szymciosek
post
Post #8





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

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


Cytat(Crozin @ 29.08.2012, 16:18:29 ) *
@Szymciosek: Przede wszystkim co z tego, że wiele niepotrzebnych rzeczy może się uruchomić?

Przy małym projekcie w większości przypadków nawet nie warto będzie bawić się w konfigurację FW celem ich wyłączenia.


Konsultując się dalej ze znajomym, twierdzi że niepotrzebnie jest obciążany serwer niepotrzebną ilością danych.


Cytat(skowron-line @ 29.08.2012, 16:18:57 ) *
Ważne jest aby wybrać narzędzie które najlepiej będzie pasowało do danego zadania.

Czyli wg Ciebie jest warto bawić się w wyłączenie np Doctrine, jeśli z niego nie korzystam ? Za to Crozin zaś twierdzi, że nie warto się bawić w to przy małym projekcie.

Ten post edytował Szymciosek 29.08.2012, 15:25:44
Go to the top of the page
+Quote Post
peter13135
post
Post #9





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


jak sobie do symfony2 dodałem pare bundli to wyszło mi, że cały folder ma ponad 100mb. Wrzucanie tego na ftp mi się niezbyt podoba :/
Go to the top of the page
+Quote Post
Crozin
post
Post #10





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

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


Cytat
Konsultując się dalej ze znajomym, twierdzi że niepotrzebnie jest obciążany serwer niepotrzebną ilością danych.
Oczywiście, że każda dodatkowa, zbędna operacja to jakieś tam zwiększenie obciążenia serwera, ale:
1. Przy małych projektach to dodatkowe obciążanie jest nieodczuwalne. Co za różnica czy strona wygeneruje się w 0.018 czy 0.02 sekundy? Co za różnica czy jakieś dodatkowe śmieci się tam robią, skoro serwer jest jeszcze wstanie obsłużyć 2, 5 czy 25 razy większy ruch w "komfortowym" czasie?
2. Jak zaczynają pojawiać się problemy z wydajnością to wprowadza się jakieś podstawowe poprawki optymalizacyjne - wyłącza co niepotrzebne, zwiększa się ilość rzeczy lądujących w różnego rodzaju cache (przetworzone dane biznesowe, akceleratory PHP, reverse-cache itp.). Jeżeli nadal istnieją problemy z wydajnością przenosi się na mocniejszą maszynę - bo jest to zazwyczaj śmiesznie tanie rozwiązanie. Dopiero ostatnim krokiem jest babranie się z dziesiątkami drobnych optymalizacji.
3. Jeżeli ideologicznie przeszkadza Ci wykonywanie przez serwer zbędnych operacji zapomnij w ogóle o PHP. Język sam w sobie jest powolny, a i środowisko w jakim pracuje (żądanie -> władowanie wszystkiego -> wykonanie kodu -> odpowiedź -> zakończenie procesu) nie sprzyja optymalnemu kodowi.

Oczywiście, jeżeli jakaś tam optymalizacja jest łatwa do wdrożenia, np. wyłączenie całego Doctrine'a w Symfony2 to usunięcie dwóch linijek z AppKernel.php/autoloader.php, to powinno się to zrobić już na etapie tworzenia projektu.

Cytat
jak sobie do symfony2 dodałem pare bundli to wyszło mi, że cały folder ma ponad 100mb. Wrzucanie tego na ftp mi się niezbyt podoba :/
Zacznijmy od tego, że na serwer nie wrzuca się całych repozytoriów GIT-a, bo to one tyle zajmują. Zresztą kod bibliotek (3rd-party-code) możesz pobrać sobie już na serwerze, po co wrzucać to przez FTP.

Ten post edytował Crozin 29.08.2012, 15:55:37
Go to the top of the page
+Quote Post
Szymciosek
post
Post #11





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

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


Cytat(peter13135 @ 29.08.2012, 16:33:59 ) *
jak sobie do symfony2 dodałem pare bundli to wyszło mi, że cały folder ma ponad 100mb. Wrzucanie tego na ftp mi się niezbyt podoba :/


Parę bundle za pomocą git i
Kod
php bin/vendors --install


to wiedz, że foldery git będą zajmowały właśnie tak dużo ze względu na to, że zawierają kompletną historię każdego pakietu...
Możesz to łatwo usunąć za pomocą komendy:
Kod
find vendor -name .git -type d -exec rm -fr {} \:
Go to the top of the page
+Quote Post
irmidjusz
post
Post #12





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

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


Jeśli chodzi o Joomle, to została napisana w swoim własnym frameworku (który nawet nie jest wydzielony od właściwego CMSa). Takie specyficzne rozwiązanie, ale pod Joomle wszystko się pisze zgodnie z konwencją tego frameworka.
Go to the top of the page
+Quote Post
usb2.0
post
Post #13





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

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


kiedy używać?
kiedy tylko można:P
wg. świetny framework, ogromne comunity, całą masa bundli gotowych, nie trzeba pisać czegoś po raz n-ty
wrzucanie na ftp to najciekawszych zajęc nie należy ale podobnie jest w przypadku innych fw.
Ja polecam!
Go to the top of the page
+Quote Post
Spawnm
post
Post #14





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




W przypadku innych fw to wgrywasz ~300KB, dodajesz w configu dane bazy i możesz już tworzyć (IMG:style_emoticons/default/wink.gif)
Oczywiście inne, mniejsze fw nie dadzą ci w standardzie generatora kodów kreskowych itd. Ale jak często robiąc stronę firmy, prywatnej osoby czy jakiś cms lub crm a nawet gierkę musisz generować takie cuda? Większość aplikacji to crudy + modele przetwarzające jakieś dane, a w tego typu aplikacjach każdy fw jest ok jeśli pisze ci się w nim szybko i wygodnie. Większy fw warto wybrać jeśli wiemy że to co piszemy będzie rozwijane przez kolejne x lat i wszystko może się tam pojawić. Ale nawet w takim wypadku zawsze można wtedy dograć odpowiednią bibliotekę której akurat fw nam nie dostarczył.
Go to the top of the page
+Quote Post
usb2.0
post
Post #15





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

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


niestety jako fanboy symfony mam inne zdanie : D
Go to the top of the page
+Quote Post
Szymciosek
post
Post #16





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

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


Podziel się (IMG:style_emoticons/default/wink.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----


Jak juz ktos wspomnial nikt na serwer nie wrzuca caelgo projektu symfony2 raz z bundlami i assets.
Wgrywamy tylko nasza aplikacje a reszte bundli instalujemy przez vendors.

Ja aktualnie jestem na praktykach jako mlodszy programista PHP pisze w SYmfony2 i musze powiedziec ze moze sie nadawac do wszystkiego czemu nie (IMG:style_emoticons/default/wink.gif)
Jego opanowanie zajmuje jakis miesiac przynajmniej dla mnie, jest masa plikow/katalogow.
Jest do poznania Doctrine(bo propel jest jakis glupawy),twig i kilka innych.

Ja polecam choc malo znam to mnie sie podoba
Go to the top of the page
+Quote Post
Szymciosek
post
Post #18





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

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


Cytat(marcio @ 31.08.2012, 00:44:04 ) *
Jak juz ktos wspomnial nikt na serwer nie wrzuca caelgo projektu symfony2 raz z bundlami i assets.
Wgrywamy tylko nasza aplikacje a reszte bundli instalujemy przez vendors.


Aplikacje czyli co ? Jakie foldery/pliki ? Również zaczynam przygodę z Symfony2
Jeszcze mam takie pytanie dotyczące vendors, na pewnej stronie wyczytałem, że podczas ich aktualizacji do nowszej wersji możemy być zdziwieni, gdy projekt przestanie działać (to tyczy się composera). I tu pytanie, skąd mam wiedzieć co mogę/warto aktualizować, a co jest ryzykowne ?
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----


Czytajac changelog bundli czy sa jakies wiekszy zmiany w API/konfiguracji/bazie

Dodajesz tylko twoje pliki do projektu bez zadnych bundli ktore sa ci potrzebne do dzialania aplikacji.
Czyli bez doctrine,twig-a itp..itd..
Potem ktos sciaga twoja aplikacji i za pomoca vendors instaluje wszystkie brakujace moduly ktore masz opisane w deps/deps.lock
Go to the top of the page
+Quote Post
Szymciosek
post
Post #20





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

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


No tak, w przypadku aplikacji, które są dostępne dla innych to się zgodzę, że zbędne jest wrzucanie folderu vendors do całej paczki, ale gdy projekt ma być online (np strona internetowa), to wtedy powinny być wszystkie foldery, albo całe vendors umieszczone np w usr/share.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 4.10.2025 - 00:46