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

Jak samodzielnie opanować nowoczesny framework PHP?

Object Storage Arubacloud
+1 głos
460 wizyt
pytanie zadane 26 lutego 2023 w PHP przez daro0 Obywatel (1,430 p.)
Już któryś raz z rzędu próbuję opanować jeden z nowoczesnych i najpopularniejszych frameworków PHP, na przemian Symfony albo Laravel w najnowszych wersjach i masakra. Od lat programuję i już na dobre zafiksowałem się w Kohana 3.3, potem Koseven, a ponieważ znam go już na wylot i realizowałem już różne portale, najczęściej ogłoszeniowe praktycznie nie mam z niczym problemów. Ale Kohana/Koseven to już ewidentny trup, choć do freelancerki gdzie realizuję zlecenia a mam do wyboru dowolne technologie i nikt mi niczego nie narzuca sprawdza się znakomicie. Raz że jest prosty, żadnych zależności w vendorach to jeszcze pozwala na realizację portali bardzo szybko, co jest wskazane przy freelancingu. Próbuję przejść na coś nowszego bo ze zleceniami jest bardzo słabo a pracy w Kohana to już nie ma w ogóle, jeśli nawet to pewnie jakieś poprawki w istniejących jeszcze portalach i za małą kasę.

Dlaczego Symfony albo Laravel w najnowszych wersjach są tak potwornie trudne? Prosty formularz rejestracji i logowania w obu frameworkach na podstawie tutoriali i dokumentacji sprawia bardzo poważne problemy! Wywalają się Error Exception bo czegoś brakuje i nie wiadomo nawet gdzie szukać błędów i tych braków. Czy te frameworki można w ogóle opanować samodzielnie, jeśli tak to jak długo, czy też muszę udać się na jakiś bootcamp za kilkanaście tysiaków? Obawiam się że niestety to drugie. Na prawdę nie widzę sensu trwania dalej w trupach technologicznych. Po stronie przeglądarki dość łatwo przeszedłem na Vue.js z Knockout.js ale tego ten problem nie dotyczy, zresztą Vue jest dziecinnie prosty i bardzo przyjemny.

A może byście zaproponowali jakiś inny framework, bo kopać się z koniem to jakoś nie bardzo, być może inne są prostsze do opanowania samodzielnie ale słabo się orientuję.
komentarz 27 lutego 2023 przez reaktywny Nałogowiec (40,990 p.)

3 odpowiedzi

+2 głosów
odpowiedź 26 lutego 2023 przez Arkadiusz Waluk Ekspert (287,950 p.)
Nie znam całej historii prób nauki tych frameworków, więc w zasadzie ciężko ocenić czemu mogło nie wychodzić, nie wiemy też jak ogólnie idzie Ci nauka i ile czasu potrzebujesz. Po tym co napisałeś jak dla mnie brzmi to jednak trochę jakbyś przyzwyczaił się do czegoś przestarzałego, co było może bardziej uproszczone i za szybko poddawał się przy próbie nauki nowego, bo zawsze można wrócić do czegoś, co już się zna i też jakoś działa. A w IT, jak już pewnie sam zauważyłeś, liczy się ciągły rozwój i bycie na bieżąco. Jeśli miałeś jakiś konkretny problem, to szukałeś jak go rozwiązać? Pytałeś? Wynikał z kwestii samego frameworka, bo może z jakichś pobocznych rzeczy?

Zapewniam, że zarówno Symfony i Laravela da się opanować samodzielnie i to nawet z pomocą tylko darmowych materiałów. Sam jestem tego przykładem. Symfony posiada naprawdę bardzo dobrą dokumentację. Pewnie nie odpowiada na każdy istniejący problem, ale można na jej podstawie zacząć i na początek zrobić sporo rzeczy, które będą działały.

Osobiście więc nie polecę Ci czegoś innego, bo Symfony i Laravel to najlepszy wybór obecnie. Laravel wydaje się trochę prostszy, ma więcej rzeczy, które po prostu od razu działają i niczym się nie trzeba martwić. Symfony z kolei czasem wymaga trochę więcej pracy, aby coś zadziałało, ale też dzięki temu poniekąd wymusza lepszy kod. Ale z obydwoma sobie można spokojnie poradzić, a jak już się pozna jeden to na drugi dość łatwo się przestawić.
komentarz 27 lutego 2023 przez daro0 Obywatel (1,430 p.)
Podchodziłem już wielokrotnie i cały czas mam wahania w który framework wejść. Jedni zachwalają Symfony, inni Laravel. Żeby się później nie okazało że zainwestowałem w kolejną technologię która po niedługim czasie okaże się już martwa. Wystarczyłoby mi przepisać jeden z kilku portali napisanych na Kohanie i Knockout.js na Symfony albo Laravel z Vue po stronie przeglądarki i byłoby już z górki. Za każdym razem poddawałem się kiedy coś nie działało, coś się wywalało. Kiedyś to z tego co wiem w Polsce Kohana była jednym z najpopularniejszych frameworków, możliwe że na Laravel jest podobny hype. Żeby to opanować musiałbym przepisać jeden portal w stylu olx a już taki kiedyś pisałem a chodzi o realizacę wszystkich typowych i najczęściej występujących funkcjonalności. Potem poszłoby już z górki.

Na prawdę idzie zgłupieć, żebym jeszcze był pewny ale mam ciągłe wahania. Coraz więcej stron to z tego co się orientuję stoi już na Node, typowe SPA i też już nie wiem czy nie dać sobie spokoju z PHP a zainwestować tylko w JavaScript. Pod Symfony jest demo na githubie, typowy blog i ja myślę że od tego można by zacząć, wiadomo że na przykładach człowiek uczy się najlepiej. Od zera musiałbym postawić portal który napisałem wcześniej ale sama dokumentacja Symfony moim zdaniem jest za słaba. Bo jak próbowałem realizować prosty mechanizm rejestracji i logowania to mi wyskakuje później błąd że jakiegoś pola czy tabeli w bazie brakuje albo jakiegoś pakietu. Obawiam się że to droga przez mękę.
1
komentarz 27 lutego 2023 przez Arkadiusz Waluk Ekspert (287,950 p.)
Zobacz jak długo Symfony istnieje i jest ciągle rozwijane. Laravel z resztą też, choć nieco krócej. Nie żebym miał cokolwiek do frameworków na froncie jak React czy Vue, bo one już też dość długo są rozwijane, ale osobiście jeśli już naprawdę miałbym się o jakieś technologie obawiać, to bardziej o te na froncie. Tam powstają to kolejne frameworki, które gdzieś zyskują popularność. Powiedziałbym, że ten ekosystem się ciągle dynamicznie zmienia i rozwija. W środowisku PHP jest dość stabilnie, od lat na topie jest Laravel i Symfony i nie widać na horyzoncie, aby to się miało zmieniać. Oczywiście jednak nikt nie zagwarantuje czy za rok albo 10 lat nadal tak będzie. Jednak jak wspomniałem wyżej, w IT liczy się ciągły rozwój, więc trzeba się liczyć z tym, że pomimo poświęconego czasu wręcz za chwilę będzie się trzeba czegoś jeszcze douczyć albo zaktualizować wiedzę, bo wyjdzie nowa wersja, nowa biblioteka, nowa technologia.

Jak też wspomniałem Symfony i Laravel są inne, ale również jednocześnie podobne. Jeżeli ogarniesz sensownie jeden, to nie powinieneś mieć większego problemu z przejściem na drugi. Oczywiście wiele rzeczy się różni w finalnym użyciu, ale w wielu miejscach sam zamysł jest podobny, a kod frameworka to tylko narzędzie. Wybrać inny język też oczywiście można, np. wspomniany Node. To już kwestia tego w czym chcesz pisać, jakie masz osobiście preferencje no i oczywiście jakie są potrzeby konkretnego projektu, czy PHP jest odpowiedni do tego co programujesz, ale skoro do tej pory było ok na innym frameworku to wnioskuję, że może tak być.

Musisz się więc nie poddawać "za każdym razem kiedy coś się wywali", bo mi też się wywalają na co dzień różne rzeczy i też dostaję różne błędy. Zupełnie nic w tym złego nie ma, bo ważne jest to, aby wiedzieć jak sobie z tym poradzić. Jak sobie z danym problemem poradzisz raz, to za kolejnym już będziesz wiedział o co chodzi i albo rozwiążesz od razu, albo dana sytuacja w ogóle nie wystąpi. Choć rozumiem Twoje obawy, to z myślą, że jak tylko pojawi się jakiś błąd od razu jest za trudne i nie da się nic zrobić, to się niestety nie uda i to w żadnym języku i żadnym frameworku. Proponuję więcej samozaparcia i prób rozwiązania problemu. Uważnego przeanalizowania błędu, następnie poszukania w dokumentacji czy po prostu w internecie, w razie potrzeby zapytania kogoś o pomoc itd. Zapewne nie jedna osoba miała już podobny problem jak Ty i może od razu znajdziesz rozwiązanie.
komentarz 27 lutego 2023 przez daro0 Obywatel (1,430 p.)
Bardzo wysoki próg wejścia w ten Symfony. Nie mogę zrealizować nawet prostego logowania i męczę się z dokumentacją. Jak nawet to sprawia tak poważne problemy to co by było gdybym miał w tym pisać albo rozwijać całe portale? Chyba się poddam, samodzielnie nie dam rady.
komentarz 27 lutego 2023 przez Arkadiusz Waluk Ekspert (287,950 p.)
Ciężko jasno określić czemu Ci nie idzie, czy to kwestia podejścia, motywacji, umiejętności rozwiązywania problemów czy wiedzy, za mało wiemy. Na pewno jednak myślenie od początku o tym, że jest bardzo trudno i że już trzeba się poddać, nie pomoże. Nie powiedziałbym też, że Symfony ma bardzo wysoki poziom wejścia, choć Laravel może ma jeszcze nieco niższy.

Jeśli pracujesz nad tym teraz i masz jakiś problem to może zapytaj o niego tutaj na forum? Co masz i jaki konkretnie jest problem?
+2 głosów
odpowiedź 27 lutego 2023 przez Benek Szeryf (91,010 p.)
Po prostu brakuje Ci podstaw. Dlaczego tak sądzę? Programowanie tylko częściowo zależy od danej technologii. Oczywiście każdy język ma swój, nazwijmy to, dialekt. Na przykład w Pythonie napiszesz coś w dwóch liniach, a w takim C musisz napisać kilka funkcji pomocniczych. Ale sposób rozwiązania problemu jest ten sam, choć w Pythonie osiągniesz to szybciej.

Pisząc taki kod w obu językach natkniesz się na błędy/wyjątki. Szukanie błędów, nawet w krótkich kawałkach kodu, który się napisało, to element pracy programisty. Według mnie nie wyszedłeś ze strefy komfortu, nauczyłeś się tych niszowych technologii, coś działa, ale być może to też jest źle napisane z punktu architektury. Dlatego nie możesz się pogodzić z tym, że w Symfony coś jest "zaprojektowane w tak skomplikowany sposób". A takie formularze na pewno są lepiej zaprojektowane niż te, które Ty pisałeś. Nawet jak te Twoje wydają się łatwiejsze, to pewnie dlatego, że np. nie mają pokrycia w security lub nie robią walidacji takiej, jaka powinna być. Piszesz też, że jesteś freelancerem, więc przypuszczam, że nie ma Ci kto nawet zrobić review, co jest bardzo złe.

Nie odbieraj tego jako przytyk. Sam ostatnio przechodziłem przez podobną sytuację. Pomimo wielu lat doświadczenia uświadomiono mi, że mam braki. Z początku czułem taką gorycz jak Ty. Ale dostałem wartościowy feedback, przespałem się z tym i wiem, że jedyną drogą jest dokształcenie się i podciągnięcie umiejętności. Można też właśnie na to tak spojrzeć, że teraz już wiesz, co jest do poprawy, więc nie musisz błądzić na ślepo albo tkwić w stanie "jestem super, bo wiele lat programuję". Powodzenia!
komentarz 27 lutego 2023 przez daro0 Obywatel (1,430 p.)
Zgadza się architektura oparta na HMVC w Kohana/Koseven jest dość słaba. Nawet ostatnio implementowałem w dwóch projektach CQRS ale nie wygląda to tak jak w typowych implementacjach np. w Symfony. Bo i dyskutowałem o tym, na przykład dość mocno to uprościłem. Gdybym to przedstawił na jakiejś rekrutacji na pewno nie byliby zadowoleni. Już raz zresztą odbyłem rozmowę z technicznymi, gdzie mimo moich mocnych atutów w Kohana 3x a rekrutacja dotyczyła właśnie Symfony i tak nie miałem szans. Bo na zadanie rekrutacyjne nie byłem w stanie nawet napisać prostej klasy Paginator. Tak to niestety przykłada się trwanie właśnie w tej strefie komfortu w stosunkowo łatwych i przyjemnych frameworkach. Ale dyskusja na temat wdrożeń CQRS skłoniła mnie do tego żeby zastanowić się nad wyjściem ze swojej strefy komfortu, polecono mi Symfony ale na ten moment to piekielnie trudna sprawa. Code review to sam nie raz robiłem, bo poprawiałem wiele razy kody które w ramach frilansu napisałem, tu raczej nie chodzi o kwestie bezpieczeństwa i walidacji bo takie są tylko właśnie o samą architekturę. To jest dość słabe bo właśnie jeśli chodzi nawet o wdrożenie CQRS to tak to mi wygląda jakby nie było sensu stosować pewnych podejść np. DTO jako obiekt Command i rozbijania na Command, Command Handler i Command bus. Co nie zmienia jednak faktu że ten framnework ma inne atuty a HMVC i kaskadowy system plików świetnie się czasem sprawdza a i jest jednym z najszybszych, no ale to już nie o tym ta dyskusja.
0 głosów
odpowiedź 9 marca 2023 przez imagim Obywatel (1,130 p.)
Kurczem stary, ja ogarnąłem laravela nie mając żadnego zaplecza w sensie jako kompletny amator znający tylko podstawy PHP, po czym napisałem w nim samodzielnie 2 duże aplikacje (pewnie do bani ale jednak) + ze 2 z tutoriali wcześniej. W ogóle to mi się wydaje ze to jest framework dla takich co chcą iść na łatwiznę, wszystko się tam samo robi/jest podstawione pod nos. Natomiast musze powiedzieć ze przerobiłem najpierw kurs na udemy co trwał chyba ze 22h (ale imo powinno sie go obejrzeć/przerobić na prędkości x1.5). Jest to defacto kurs kopiujący dokumentacje, ale ja jestem z  tych co najpierw musza zobaczyć i usłyszeć zanim przeczytają.

Jak cos to polecam, chociaż na starszej wersji laravela to dalej w większości aktualny (brak livewire / jetstream).

https://www.udemy.com/course/kurs-laravel-framework/

Jeśli chodzi o zwracanie błedów, to imo Laravel tez dokladnie zwraca o co mu chodzi w 99% przypadków, wiec pewnie brakuje ci po prostu pewnej niewielkiej praktyki.

Podobne pytania

–1 głos
1 odpowiedź 453 wizyt
pytanie zadane 28 września 2018 w PHP przez JeyJey Użytkownik (710 p.)
+2 głosów
1 odpowiedź 488 wizyt

92,568 zapytań

141,422 odpowiedzi

319,634 komentarzy

61,956 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!

...