• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nauka PHP, co należy znać? jaki framework wybrać?

Object Storage Arubacloud
0 głosów
931 wizyt
pytanie zadane 29 marca 2020 w Rozwój zawodowy, nauka, praca przez Hardwell Dyskutant (8,980 p.)
edycja 29 marca 2020 przez Hardwell
Witam, jakiś czas już uczę się w php, poprzez pisanie wymyślonych projektów, myślę, że najwyższa pora zabrać się za naukę konkretnego frameworka.

tutaj kilka moich pytań:

(standardowo)

Jaki framework wybrać?
należy uczyć się jednego frameworka, czy najlepiej uczyć się kilku?
co konkretnie należy znać przed zaczęciem nauki konkretnego frameworka?
co należy wiedzieć o frameworkarch?
jakie strony/metody nauki polecacie?

3 odpowiedzi

+1 głos
odpowiedź 29 marca 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)
wybrane 29 marca 2020 przez Hardwell
 
Najlepsza

Jaki framework wybrać?

Ile osób tyle opinii - każdy może polecić Ci innego z różnych powodów, a jeszcze wiele osób się przy tym przy okazji pokłóci ;) Osobiście skupiłbym się na dwóch: Laravel i Symfony, bo to takie topowe i najpopularniejsze, znajdziesz do nich wiele poradników i dużą społeczność. W Laravelu w mojej ocenie można działać szybciej i łatwiej w nim zacząć, ale ma trochę rozwiązań, które mi się nie podobają. W Symfony może wejść odrobinkę trudniej, ale też żeby nie było nie jest jakiś trudny. Ja prywatnie preferuję Symfony, ale akurat tak wyszło, że większość rzeczy które robię są w Laravelu.

należy uczyć się jednego frameworka, czy najlepiej uczyć się kilku?

Na początek skupiłbym się na jednym i ogarnął go do jakiegoś sensownego poziomu. Później migracja na inne będzie na pewno łatwiejsza i jeśli będziesz chciał próbować to czemu nie.

co konkretnie należy znać przed zaczęciem nauki konkretnego frameworka?

Rozumieć składnię PHP i obiektowość na sensownym poziomie, umieć skorzystać z Composera, wiedzieć jak działa autoloading... Myślę że to taka podstawa, a jakieś rzeczy dodatkowe na pewno wyjdą same po drodze.

co należy wiedzieć o frameworkarch?

Nie wiem co na to odpowiedzieć prawdę mówiąc, zbyt mało konkretne pytanie, nie kojarzę żadnej takiej ogólnej wiedzy o frameworkach.

jakie strony/metody nauki polecacie?

Przede wszystkim oficjalne dokumentacje, 2 wspomniane mają tam bardzo wiele tematów opisane. Jeśli wolisz poradniki wideo dla Laravela jest laracasts.com, Symfony ma symfonycasts.com. Poza tym pełno różnego artykułów w sieci, pytań na StackOverflow itd.

1
komentarz 29 marca 2020 przez Hardwell Dyskutant (8,980 p.)
Dzięki za cenną wiedzę, na początek zacznę w Laravelu :)
komentarz 29 marca 2020 przez Hardwell Dyskutant (8,980 p.)

@Arkadiusz Waluk, a z tym "co trzeba wiedzieć.." to chodzi mi o to, w jaki sposób się to instaluje/czy używa się do tego cmd itd 

(instaluję właśnie laravel i composer, i np nie miałem pojęcia, że trzeba to robić przez cmd)

1
komentarz 29 marca 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)

Takich kwestii będzie wiele, nie sposób opisać je wszystkie w jednej ogólnej odpowiedzi, bo nawet bym ich teraz nie był w stanie wymienić z pamięci. Tym bardziej, że często też są różne opcje na różne rzeczy, np. można instalować różnymi wariantami co jest opisane tu: https://laravel.com/docs/7.x#installing-laravel - albo przez zainstalowanie aplikacji laravela globalnie albo przez create-project. Nie wiem też jaki masz system, jakbyś nie miał Windowsa to na Linuxie czy macOS nie ma żadnego cmd. I tak dalej :) 

1
komentarz 29 marca 2020 przez eunstachy Stary wyjadacz (14,180 p.)

nie miałem pojęcia, że trzeba to robić przez cmd

Moim zdaniem warto też zabrać się za naukę linuxa. PHP to język serwerowy, a zdecydowana większość pracuje właśnie na linuxie. Dlatego warto umieć ten system a XAMPP zamienić na normalny serwer apache (lub inny) tak aby zamiast "robić przez cmd" to "robić przez terminal" :)

komentarz 29 marca 2020 przez Hardwell Dyskutant (8,980 p.)
a właśnie, jakie edytory php / terminale itp polecacie?
komentarz 29 marca 2020 przez eunstachy Stary wyjadacz (14,180 p.)
Moim zdaniem z darmowych najlepszy jest Visual Studio. Z płatnych wiadomo - PHP Storm :)
komentarz 29 marca 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)
Ja używam PhpStorma. Początki z nim były trudne, to wielkie IDE, które na start trochę przytłacza swoimi opcjami i możliwościami, ale w chwili obecnej jest jak dla mnie absolutnie niezastąpione. Poza tym używam Linuxa Mint Cinnamon i standardowego terminala w nim, nic specjalnego akurat pod tym względem.
+2 głosów
odpowiedź 29 marca 2020 przez franz Gaduła (4,940 p.)
Ha ha ha

Sorki ale mnie osobiście to bawi

Jaki framework wybrać ?

W jakim celu chcesz uczyć się frameworka ??

Jak wiele razy już tutaj było pisane , framework służy przyspieszeniu w tworzeniu .

Ale również (moim zdaniem)ogranicza cię. Dlaczego ? korzystając z frameworka niejako jesteś zmuszony do korzystania z rozwiązań jakie on proponuje . I co za tym idzie pisząc we frameworku nie uczysz się w zasadzie niczego innego .

Wiem zostanę zaraz zbesztany przez większość pasjonatów ,ale nie dbam o to . Każdy wszak ma prawo do własnego zdania . A ja jestem zdania , frameworki są złem koniecznym dla piszących hurtowo nie dla przyjemności.

A skoro pytanie jest , jaki framework wybrać, odpowiem tak.

Wybierz framework który jest najbardziej popularny , najwięcej info znajdziesz

Ktoś kto w pracy korzysta wyłącznie z Laravel  poleci właśnie jego , inny będzie zachwalał innego .

Wybierz taki który przyda ci się tam gdzie zamierzasz aplikować , bo zakładam że zamierzasz aplikować na jakieś stanowisko w tym kierunku
3
komentarz 29 marca 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)

I co za tym idzie pisząc we frameworku nie uczysz się w zasadzie niczego innego .

Ale bzdury. Framework to tylko pewnego rodzaju szkielet, konstrukcja bazowa i gotowe narzędzie, które udostępnia podstawowe mechanizmy na gotowo. Nadal całą aplikację, jej działanie, logikę, trzeba przygotować samemu.

Wiem zostanę zaraz zbesztany przez większość pasjonatów ,ale nie dbam o to . Każdy wszak ma prawo do własnego zdania . A ja jestem zdania , frameworki są złem koniecznym dla piszących hurtowo nie dla przyjemności.

Każdy ma prawo do własnego zdania, więc i ja swoje wyrażę ;) Robienie tego samego setki razy to przyjemność? Bo właśnie na tym rzecz polega - framework da gotowe rzeczy, jak np. obsługę routingu, ładowania konfiguracji, logowania, innych takich rzeczy, które są potrzebne prawie zawsze i najczęściej działają bardzo podobnie. Nie wiem co jest przyjemnego w robieniu tego samego wiele razy w kółko, mi by się znudziło. Tym bardziej, że rozwiązania napisane przez jedną osobę, choćby się nie wiem jak starała, nie będą tak dobre jak te, które przygotowało, sprawdziło i przetestowało bardzo wiele osób przez wiele lat.

Wyobraź sobie prosty przykład. Masz firmę, która tworzy oprogramowanie dla klientów. Przychodzi klient i mówi, że chciałby to i to. Masz wybór albo wziąć framework i zrobić to powiedzmy w 20 dni albo zrobić to samo bez gotowych rozwiązań w np. 3 miesiące. Z czasem pracy oczywiście wiążą się odpowiednie koszty pracy programistów. Wątpię, że klient będzie szczęśliwy jeśli będziesz robił coś kilka razy dłużej i kilka razy drożej, niż byś to samo osiągnął szybciej i taniej biorąc gotowe rozwiązanie.

Oczywiście to nie znaczy że frameworki są lekiem na wszystko, zawsze i wszędzie należy ich używać itd. Ale nie oznacza też, że są "złem koniecznym". Mam wrażenie, że nigdy nie pracowałeś z żadnym frameworkiem i/lub nie pracowałeś komercyjnie skoro nie widzisz żadnych zalet, ale być może się mylę.

komentarz 29 marca 2020 przez franz Gaduła (4,940 p.)

 Mam wrażenie, że nigdy nie pracowałeś z żadnym frameworkiem i/lub nie pracowałeś komercyjnie skoro nie widzisz żadnych zalet, ale być może się mylę.

Zgadza się nigdy nie pracowałem komercyjnie 

I nie zgadza się pracowałem (raczej próbowałem) frameworka 

 Nie wiem co jest przyjemnego w robieniu tego samego wiele razy w kółko, mi by się znudziło.

No cóż podstawy jak logowanie napisane raz dobrze można wykorzystywać w każdym swoim projekcie , i wcale nie trzeba do tego frameworka . 

Robienie tego samego setki razy to przyjemność?

Każdy projekt  jest inny , wymaga innych rozwiązań . A przyjemność rozwiązania problemu samemu jest nie do przecenienia . 

Inaczej pewnie się to widzi jeżeli pracuje siew firmie w której jest wymagana szybkość . Niestety je tego nie doświadczyłem , uczę się i pisze dla  siebie samego , dla własnej przyjemności . Nie raz i nie dwa zmagałem się z problemem przez tydzień, ale jaka satysfakcja z rozwiązania . Wiem że gdybym korzystał z frameworka pewnie rozwiązał bym to w kilka minut , ale nie miał bym tej satysfakcji.  

3
komentarz 29 marca 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)

I nie zgadza się pracowałem (raczej próbowałem) frameworka 

Spróbowałeś czyli jak rozumiem niezbyt się udało i odpuściłeś? Wybacz, ale to brzmi trochę tak, że nie udało Ci się zrozumieć czy uzyskać tego co chciałeś, więc uznałeś, że dlatego frameworki to największe zło, a to wcale nie tak.

No cóż podstawy jak logowanie napisane raz dobrze można wykorzystywać w każdym swoim projekcie , i wcale nie trzeba do tego frameworka . 

Tylko że takich podstaw jest więcej, to nie tylko logowanie. I mają różne warianty. W jednym projekcie potrzebujesz logowania na sesjach użytkownikami z bazy, w drugim to jest zbędne i wystarczą wpisane dostępy w konfiguracji. A w jeszcze kolejnym w ogóle potrzebujesz logowania do API i mieć obsługę tokenów. Framework te wszystkie rozwiązania już ma, a jak nie framework to pewnie biblioteki do niego od innych programistów. Ty musiałbyś dopiero siąść, przemyśleć co trzeba, jak to ma działać, jakie warianty uwzględnić...

Każdy projekt  jest inny , wymaga innych rozwiązań . A przyjemność rozwiązania problemu samemu jest nie do przecenienia . 

Pisząc z frameworkiem też są problemy i też trzeba je rozwiązywać samemu, magicznie się nie naprawiają ;) Framework ma stertę rozwiązań pod pewne standardowe przypadki i do nich po prostu już nie musisz pisać tego samego. Jak potrzebujesz czegoś zupełnie innego to wtedy framework w danej części się nie sprawdzi, choć często też można go rozbudować dodając swoje rzeczy.

Inaczej pewnie się to widzi jeżeli pracuje siew firmie w której jest wymagana szybkość .

Tyle że nie liczy się tylko szybkość. To jeden z ważnych czynników, ale są też inne: np. to powinno działać niezawodnie. Biorąc framework wiesz, że dane rozwiązanie było przetestowane i przemyślane przez pewnie setki czy tysiące osób. Oczywiście nadal mogą się zdarzyć problemy przez złe użycie czegoś, błąd we frameworku i inne, ale znacznie to ryzyko jest zmniejszone. W razie potrzeby dalszego rozwoju jest szansa, że może to się da zrobić od razu (bo framework ma taką opcję jeśli jest dość standardowa). Jest też łatwiej wg mnie wdrożyć się kolejnej osobie do projektu, bo nie musi analizować całego kodu np. logowania tylko wie, że to jest mechanizm np. Laravela który działa o tak. 

Niestety je tego nie doświadczyłem , uczę się i pisze dla  siebie samego , dla własnej przyjemności .

To już wspomniałem wyżej: ja dla własnej przyjemności wolę pisać ciekawe rzeczy, a nie sto razy to samo albo poprawiać ciągle ten sam mechanizm.

Nie raz i nie dwa zmagałem się z problemem przez tydzień, ale jaka satysfakcja z rozwiązania . Wiem że gdybym korzystał z frameworka pewnie rozwiązał bym to w kilka minut , ale nie miał bym tej satysfakcji.  

Też się nie raz, nie dwa i nawet nie trzy razy zmagałem z różnymi problemami i tak, jest satysfakcja, ale frameworki Ci jej nie odbiorą. Pracując z frameworkami nadal powstają problemy i nadal trzeba je rozwiązywać, bo jak mówiłem pisze się własny kod, framework to tylko taka obudowa i baza określonych rozwiązań. Framework nie rozwiąże za Ciebie problemów i nie napisze aplikacji.

Twój wybór, rozumiem Twoje argumenty, ja swoje też przedstawiłem. Nie określałbym na pewno frameworków jako całe największe zło.

komentarz 29 marca 2020 przez franz Gaduła (4,940 p.)

Może na to nie wygląda , ale ja również rozumiem zwolenników frameworków . Zapewne gdybym pracował w jakiejś firmie też bym z nich korzystał i zachwalał zalety. Ale tak nie jest , i zapewne nigdy to nie nastąpi. 

Szukałem żeby zacytować ale nie znalazłem 

Kiedyś była dyskusja dotycząca (nie wiem jak to nazwać) bibliotek jquery i alax  tak chyba jest dobrze) gdzie Comandeer pisał że wszystko da się zrobić w czystym JavaScript i nie jest konieczne korzystanie z tych bibliotek a tym samym obciążanie projektu nadmiarowym kodem 

Ja uważam dokładnie tak samo jeżeli mowa o frameworkach.

 Jest też łatwiej wg mnie wdrożyć się kolejnej osobie do projektu, bo nie musi analizować całego kodu np. logowania tylko wie, że to jest mechanizm np. Laravela który działa o tak. 

Tak , to niewątpliwie zaleta korzystania z frameworka. Nieważne kto pisał i kiedy , inny programista wiedząc że to napisane dla przykładu w Laravel bez problemu zmodyfikuje czy doda funkcjonalność. 

Tak czy inaczej każdy z nas ma swoje racje i zapewne moglibyśmy się przerzucać argumentami ale nie wydaje mi się żeby to miało jakikolwiek sens, autor chciał wiedzieć jakiego frameworka się uczyć. Wydaje mi się że po przeczytaniu tego co już napisaliśmy będzie w stanie podjąć decyzje.

Bardzo szanuje  zdanie Twoje oraz innych pasjonatów , niemniej pozwolę sobie zachować swoje zdanie.

2
komentarz 29 marca 2020 przez Arkadiusz Waluk Ekspert (287,950 p.)

Może na to nie wygląda , ale ja również rozumiem zwolenników frameworków . Zapewne gdybym pracował w jakiejś firmie też bym z nich korzystał i zachwalał zalety. Ale tak nie jest , i zapewne nigdy to nie nastąpi. 

Nie bardzo rozumiem rozróżnienie między pracą, a poza pracą - i tu i tu chcę pisać kod możliwie szybko i dobrze, ale ok.

Kiedyś była dyskusja dotycząca (nie wiem jak to nazwać) bibliotek jquery i alax  tak chyba jest dobrze) gdzie Comandeer pisał że wszystko da się zrobić w czystym JavaScript i nie jest konieczne korzystanie z tych bibliotek a tym samym obciążanie projektu nadmiarowym kodem 

Mylisz wątki. Jak najbardziej, ja to napisałem w pierwszym komentarzu - framework nie jest do wszystkiego. Jeżeli bierzesz bibliotekę jak jQuery aby np. tylko wyszukać po selektorach, a to samo możesz zrobić bez niego przez querySelector no to faktycznie, jest to kompletnie bez sensu. I jeśli bierzesz całego wielkiego frameworka PHP po to, aby zrobić aplikację z jedną statyczną podstroną to racja, coś jest nie tak. Ale jeżeli potrzebujesz więcej rzeczy, które ta biblioteka/framework Ci uprości, umiesz z tego dobrze skorzystać, to dlaczego nie?

Powołujesz się na Comandeera, a nie widziałem nigdy, aby ten określił jQuery jako "zło konieczne", tak samo nie widziałem takiego głosu w sprawie ogólnie bibliotek czy frameworków. W sprawie przywołanego jQuery jest przeciwnie - napisał, że... sam używa: https://tutorials.comandeer.pl/js-jquery.html#czy-porzucic sekcja "Czy porzucić" i że dla normalnego użytkowania nie ma problemu generalnie. Mam więc wrażenie, że argumentacja Ci się mocno rozjechała, zapamiętałeś może jakiś wyrywek wypowiedzi bez reszty kontekstu ;)

Tak , to niewątpliwie zaleta korzystania z frameworka. Nieważne kto pisał i kiedy , inny programista wiedząc że to napisane dla przykładu w Laravel bez problemu zmodyfikuje czy doda funkcjonalność. 

No niekoniecznie tak bez problemu, bo jak mówiłem framework nie robi wszystkiego za Ciebie - to tylko otoczka, większość rzeczy i tak musisz zrobić sam. Więc nowa osoba łatwiej w to wejdzie, bo pewne mechanizmy bazowe już będzie znał, ale nadal nie wiadomo czy bez problemu, nie wiadomo jaka jest cała reszta kodu własnego.

Wydaje mi się że po przeczytaniu tego co już napisaliśmy będzie w stanie podjąć decyzje. 

Tak, mam nadzieję, że każdy czytający będzie sobie mógł wyciągnąć z tej dyskusji co będzie chciał.

Bardzo szanuje  zdanie Twoje oraz innych pasjonatów , niemniej pozwolę sobie zachować swoje zdanie.

Spoko, ja też szanuję Twoje, ale się nie zgadzam i pozwolę sobie nadal używać frameworków gdy tylko będzie taka możliwość i potrzeba ;)

3
komentarz 29 marca 2020 przez Ehlert Ekspert (212,670 p.)

Mam wrażenie że robisz z frameworków religię. Prawda jest taka, że języki programowania, tak jak frameworki, to tylko narzędzia. Tak właśnie należy je traktować.

korzystając z frameworka niejako jesteś zmuszony do korzystania z rozwiązań jakie on proponuje . I co za tym idzie pisząc we frameworku nie uczysz się w zasadzie niczego innego .

Sprawdza się to w bardzo znikomym stopniu. Po to mamy obiektowość i abstrakcję, aby separować implementację powiązaną z frameworkiem od logiki biznesowej.

 Kiedyś była dyskusja dotycząca (nie wiem jak to nazwać) bibliotek jquery i alax  tak chyba jest dobrze) gdzie Comandeer pisał że wszystko da się zrobić w czystym JavaScript i nie jest konieczne korzystanie z tych bibliotek a tym samym obciążanie projektu nadmiarowym kodem 

Comandeer po prostu chciał pokazać, że tak trywialna rzecz jak request http po stronie klienta nie wymaga zaciągania całego jQuery. Zgadzam się z tym. Sytuacja ma się zupełnie inaczej kiedy rozmawiamy o reużywalnym systemie autoryzacji z wieloma strategiami (stateless, statefull, oauth, google auth, login + password, basic auth). Zamierzasz to wszystko pisać samemu? 

Inaczej pewnie się to widzi jeżeli pracuje siew firmie w której jest wymagana szybkość 

Przyśpieszenie developmentu to jeden z pozytywnych efektów. Głównym celem istnienia frameworków jest dostarczenie rozwiązań dla pewnej grupy problemów o charakterze powszechnym, powtarzalnym.

Zgadza się nigdy nie pracowałem komercyjnie 

I nie zgadza się pracowałem (raczej próbowałem) frameworka 

Przepraszam bardzo, ale o czym rozmawiamy w takim razie. Proponuję pójść do pierwszego lepszego software house'u (Java/Python/PHP) i wyjść z propozycją pisania backendów bez fw.

Oprócz wcześniej wymienionego przeze mnie celu, korzystanie z gotowych open src. rozwiązań które mają spore community, niesie ze sobą jeszcze jedną ważną cechę. security

1
komentarz 29 marca 2020 przez Comandeer Guru (600,810 p.)

Comandeer później napisał cały tekst o abstrakcji: https://blog.comandeer.pl/o-abstrakcji-slow-kilka.html

+1 głos
odpowiedź 29 marca 2020 przez Dawid98 Użytkownik (830 p.)

Tak jak napisał przedmówca, ile programistów tyle opinii. Ja z całego serduszka polecam Symfony. Pracuję w nim od prawie roku i złego nic nie mogę powiedzieć. Bardzo fajne community, dokumentacja, która jest bardzo obszerna, nie to co w Laravelu (zaczepka taka cheeky) i potem można uderzyć w ApiPlatform (jeśli będziesz potrzebował szybko postawić API).

komentarz 29 marca 2020 przez Hardwell Dyskutant (8,980 p.)
Polecane strony / formy edukacji?
komentarz 29 marca 2020 przez Dawid98 Użytkownik (830 p.)

tak jak napisał @Arkadiusz Waluk symfonycasts oraz cudowna dokumentacja. Wiadomo jak trafisz na jakiś problem to wtedy artykuły np. na medium.com i kochane stackoverflow. smiley

komentarz 29 marca 2020 przez Hardwell Dyskutant (8,980 p.)
Znacząca różnica pomiędzy 4 a 5 ? Którą wersję symfony wybrać?

Podobne pytania

+1 głos
2 odpowiedzi 2,291 wizyt
pytanie zadane 25 kwietnia 2017 w PHP przez `Krzychuu Stary wyjadacz (13,940 p.)
0 głosów
1 odpowiedź 457 wizyt
+4 głosów
1 odpowiedź 3,851 wizyt
pytanie zadane 10 kwietnia 2015 w PHP przez emil340 Użytkownik (550 p.)

92,555 zapytań

141,404 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...