Ce academii/cursuri/resurse recomandati pentru learn PHP

Salutare! Ma aflu intr-o situatie destul de dificila si m-am gandit sa scriu pe acest forum pentru a cere o parere sau un sfat.

Doar ce am terminat facultatea, ‘in domeniu’ mai mult sau mai putin, respectiv informatica economica(ASE), insa in urma acesteia pot spune ca am cunostinte minime de programare. Desi am absolvit printre primii si in toti acei 3 ani am primit bursa de merit (lucru irelevant, dar am zis sa ofer putin context pentru a-mi aminti de penibilul in care ma aflu, si anume faptul ca am crezut ca sunt bun si ca voi reusi sa fac ceva dupa facultate doar fiindca am obtinut medii mari si licenta cu nota maxima), mai mult de a povesti putin despre tipurile de date, instructiuni repetitive, cateva concepte de baza OOP si query-uri SQL, nu-s in stare de nimic.

Ce am realizat insa, odata cu sustinerea licentei, este ca imi place mult partea de web development. Am facut mai multe proiecte la facutate pe partea de front-end(HTML, CSS si foarte putin JS->strict pentru preloader, flash messages, etc), insa acum m-am decis sa trec pe PHP.
Am cunostinte foarte, foarte de baza si aici, insa imi doresc sa-l invat ca mai apoi sa trec pe framework (Symfony sau Laravel).

Iar aici vine si intrebarea mea, care de altfel se regaseste si in titlu. Cunoasteti vreo academie(cu preturi nu foarte piperate) sau anumite cursuri/resurse pe internet pentru a invata limbajul PHP intr-un mod natural, step by step?
Sunt dispus ca mai apoi sa invat pe cont propriu, insa momentan ma gandeam sa-mi pun niste baze solide, si ma gandeam ca daca as gasi ceva academie de la noi din Ro care chiar sa te invete ceva, mi-ar fi mult mai usor apoi sa ‘apuc taurul de coarne’. Am gasit ceva cursuri la preturi acceptabile pe:

  • activeacademy - desi site-ul nu-mi ofera deloc incredere, nici macar HTTPS nu este, si totodata pot vedea extensia paginii .html, ceea ce ma face sa cred ca nu-s foarte profi, daca ar fi sa judec cartea dupa coperta)
  • bitacad - ma incanta faptul ca au un pret destul de bun, respectiv 500 de lei si ca au un program bun, chiar dupa ce termin eu munca, insa are loc o singura data pe saptamana si tind sa cred ca n-ar fi tocmai eficient.

Va multumesc pentru atentia acordata.
TL;TR : Proaspat absolvent de Informatica Economica, cu cunostinte minime de programare, sunt in cautarea unei academia sau a unui curs/resurse online pentru a invata PHP.

Cauta un internship sau job de junior unde sa poti invata chestii. Faptul ca ai terminat cu note mari imi spune ca probabil esti serios si te tii de treaba, lucru care te ajuta enorm la inceputul carierei. Din pacate pentru tine, te-a faultat sistemul educational romanesc care nu pune accent pe chestii practice nici macar in facultate. Tre sa te dai jos de pe cal, sa te apuci de treaba si sa studiezi si individual.
La cursurile alea tot teorie faci (more or less). Tie iti lipseste partea practica.

1 Like

Iti multumesc pentru raspuns.

Intr-adevar, imi lipseste mult partea practica, de teorie am avut partea in facultate more/less. Dar fiindca nu le-am folosit, au trecut informatiile pe langa mine imediat dupa ce am promovat examenele.

Legat de internship sau job de junior, aici o sa vina partea cu adevarat trista.
Imediat dupa ce am terminat facultatea, am aplicat pentru un internship in PHP/Symfony si am fost acceptat. In toata perioada internshipului tot ce am facut a fost sa urmaresc cursuri de pe o platforma, doar teorie, fara exercitii. Proiect deja scris unde el doar adauga/modifica chestii.
Am retinut cateva informatii, insa prea mult nu m-au ajutat. A fost si foarte stransa perioada si n-aveam timp sa stau pe fiecare videoclip, sa-mi notez si sa sedimentez informatia. In fine, sunt constient ca n-am nicio scuza aici, nu incerc sa ma scot cumva, it’s my fault.
Am trecut de partea de internship iar acum sunt angajat aici, insa sunt pe un proiect extrem de huge, cu deadline-uri foarte stranse si cu multi bani la mijloc. Sunt multi SE dev implicati in proiect, atat pe frontend cat si pe backend, mai multi oameni de la QA, oameni de la cyber security. In fine…
Ideea este ca din cauza deadline-urilor, simt ca sunt lasat in spate, fiindca nu ma prind atat de usor pe cat mi-as dori eu si automat pe cat de mult si-ar dori si ei, iar acum lucrez direct pe Symfony, pe o aplicatie bazata pe mai multe microservicii (in alte limbaje), eu simtind foarte mult ca n-am deloc o baza solida in PHP, cu atat mai putin in Symfony, sau in a intelege cum se leaga cu toate celelalte microservicii.
Daca nu reusesc sa termin task-ul sau ma impotmolesc, il preiau seniorii si trec mai departe. Nici nu sunt atat de bun cand vine vorba de lucrat sub presiune, pierd mult timp pe research, pe a intelege chestii basic.
Nu stiu cat de mult o sa mai tina asa, si nici nu stiu pe ce cale s-o apuc, cum sa procedez, de aia am cerut ajutorul aici pe forum, pur si simplu mi-e putin blurry toata imaginea per ansamblu.

OK. In situatia asta, cursurile astea sunt par la ceas. Inveti mult mai multe la munca. Daca nu au timp de tine si simti ca nu evoluezi si ca nu e din vina ta, schimba jobul.

PS: poate intai de asta ar trebui sa vorbesti despre chestia asta cu managerul tau.

Da, am luat si solutia asta in calcul. Insa tind sa cred ca nu voi mai avea “norocul” de a fi acceptat la un alt job, mai ales ca sunt constient de cat de putine lucruri stiu.

De asta m-am gandit ca un curs de PHP mi-ar putea fi de folos, cat sa imi intru in ritm si sa fiu mai prompt pe taskurile de la munca.

Gasesti multe resurse pe internet sau poti sa cumperi cursuri de pe Udemy (sunt unele destul de bune).
Recomand laracasts (gasesti si un curs introductiv in PHP cat si in Laravel) si Azex (in limba romana, youtube).

Mersi fain de sugestii. De laracasts auzisem, am verificat acum si pare o platforma interesanta. Insa din ce observ, trateaza subiecte destul de avansate pe partea de PHP, mi-ar prinde bine s-o iau step by step, from zero to hero. :slight_smile:

Da, sunt constient ca am toate resurse pe internet, dar tocmai din cauza asta, fiindca sunt o multitudine de informatii, cautam un roadmap corect, construit de niste oameni care au experienta in domeniu si inteleg pe ce ar trebui sa pun accentul cand vine vorba de productie.

De Azex nu stiam, o sa-l urmaresc astazi sa vad ce si cum, observ ca are multe videoclipuri de PHP.

Tin minte ca si eu cu ceva timp in urma am folosit laracast si cursul a fost foarte ok, nu avansat.

https://laracasts.com/series/php-for-beginners

Si daca esti la inceput poti sa arunci o privire la cartea asta PHP & MySQL: Server–side Web Development: Amazon.co.uk: Duckett, Jon: 9781119149224: Books
Eu am inceput cu doua carti de la Jon Duckett (HTML & CSS si JavaScript JQuery) si cartea de PHP o pre-comandasem in urma cu 2 ani dar s-a amanat foarte mult si i-am dat cancel dar presimt ca este o carte foarte buna ca sa poti pune o baza.

1 Like

Nu stiu cum de am omis cursul acesta, pare super interesant si totodata observ ca-i free. Trec astazi prin el sa vad ce informatii gasesc.
Ma bucura totusi sa vad ca stiu in mare parte despre tot ce se vorbeste in el. :))

Cat despre cartea de la Jon Duckett, nu stiam ca are si pentru PHP. Am auzit numai de bine despre cartea pe care ai mentionat-o si tu, HTML & CSS.

Iti multumesc pentru sugestii. Le-am notat!

Eu foloseam aceasta metods pe invataceii mei: https://speakerdeck.com/gbtekkie/ipc-spring-2018-how-to-train-your-minions

De aici se vede ce e important sa inveti, in ce ordine, si era un internship platit de mine ca angajator. Dura 3 luni pana aduceam la un nivel senior persoana.
Sper sa te inspire in a face progres. Daca des ce izi un thread unde ne arati codul pas cu pas, poate ne punem toti si iti facem code review.

3 Likes

ce scoti tu acolo nu sunt nici macar juniori. sa-i numesti seniori (sau pe aproape) este o jignire pt oamenii care chiar merita sa fie numiti asa.

2 Likes

@tekkie Iti multumesc pentru share-ul prezentarii, pare foarte draguta, mi-ar fi placut sa asist la ea atunci, insa e super si asa, doar trecand prin slide-uri.
O s-o iau in considerare. Era fain daca regaseam mai multe informatii tehnice si din Symfony, dar fix atunci se termina prezentarea. (pare a fi tree-ul unui proiect de Symfony acolo, Controllers/Entities/Helpers, sper sa nu ma insel)

@alescx Tind sa cred ca nu e atat de relevant aceasta informatie, daca ajungi sau nu la senior dupa acele 3 luni. Mai bine ramanem on topic. :smiley: Insa intr-adevar, regasesc informatii de baza acolo, pe care le cunosc si eu in proportie de 90%, diferenta consta in faptul ca eu nu sunt stapan pe ele, n-as sti sa scriu cod fara sa ma folosesc de internet in 95% din timp.

3 Likes

important e ca stii sa te folosesti de internet. incet incet o sa te folosesti tot mai putin. important e sa inveti conceptele.

ps: ce zici tu la inceput ca"doar asta esti in stare sa faci", cam asta o sa faci 99% din timp. doar ca vei invata sa le faci mai eficient. daca ai deja ceva baze ti-as sugera sa vezi ce inseamna kiss, dry, si solid.

Mersi de sugestii! O sa caut. Momentan doar de solid m-am lovit, insa n-am aprofundat deloc fiindca n-am baza OOP-ului pusa (in special partea de metode magice, interfete si abstractizare). Cunosc informatii din fiecare, insa nu m-am prins inca cum si cand ar trebui folosite pentru best practices.
Acesta este motivul pentru care n-am recut mai departe pe solid, iar de kiss si dry nu am auzit.
Fac research maine de dimineata sa vad despre ce e vorba, daca sunt concepte prea abstracte, mi le notez si voi reveni la ele ulterior.

important e ca stii sa te folosesti de internet. incet incet o sa te folosesti tot mai putin. important e sa inveti conceptele.

Total de acord aici, insa de cele mai multe ori sunt pus in situatia in care intru in call cu un senior, primesc niste intrebari rapid, eu ma pierd din cauza ca am bariera asta (pe buna dreptate, dar si psihica oarecum) ca nu am cunostinte, si nu am timp sa caut pe internet si chiar daca as avea, mi-ar lua ceva pana sa gasesc exact ce-mi doresc.

Ai rezista socului sa scrii in luna 2 aceeasi functionalitate stiind ca ti-am sters ci mana mea codul din luna 1 si ca nu il mai ai backup? Ideea fiind sa nu te limiteze, ci sa stii doar esenta (cum ai lucrat cu fisiere) si sa cauti ce librarii iti dau acea functionalitate, tu deja fiind invingator in batalia cu file open si etc.

DRY = Don’t Repeat Yourself
Adica nu dam copy-paste in 3 controllere la aceeasi chestie de validare.

KISS = Keep It Simple, Stupid
:grinning:

Iti mai zic sa te uiti dupa defensive programming.

Dar astea toate sunt chestii de frumusete a organizarii, tu ai nevoie sa stii ce e protocoale etc, clasica intrebare de interviu “ce se intampla de cand scriu Google.com in browser pana apare ceva pe ecran”, cam asa What happens when you type a URL into your browser? | Front-End Web & Mobile

Si nulte alt baze, gen cum functioneaza linux. De asta metoda mea te forteaza sa salvezi in filesystem, sa inveti desprr accesul la date secvential si cum se pun fisierele in filesystem, inodes, etc.

2 Likes

Nu ma cunosti, nu stii ce inseamna bootcamp de 3 luni cu mine. Am avut colegi “seniori” multi care veneau cu vraja marii clean code si oop si nu stiau bazele.

Ca idee standardul meu de senior e mai sus ca al tau: Unde sunt developerii? - #60 de tekkie

Ai rezista socului sa scrii in luna 2 aceeasi functionalitate stiind ca ti-am sters ci mana mea codul din luna 1 si ca nu il mai ai backup? Ideea fiind sa nu te limiteze, ci sa stii doar esenta (cum ai lucrat cu fisiere) si sa cauti ce librarii iti dau acea functionalitate, tu deja fiind invingator in batalia cu file open si etc.

Suna interesant challenge-ul. Mi-ar da batai de cap cel mai probabil, dar as trage cat pot de mult sa-l duc la bun sfarsit. Daca am fost in stare sa scriu codul ala, fac cumva si-l mai scriu o data. Si cel mai important e ca la final m-as alege cu niste baze bine consolidate, comparand cu experienta mea de internship unde am urmarit videoclipuri timp de 3 luni. Pot spune ca am inteles si stiu sa-ti vorbesc despre multe concepte, insa in maxim 4-5 cuvinte. Si nu pot scrie nimic fara Google, ceea ce-mi pune un semn mare de intrebare inca din aceasta faza incipienta in care ma aflu.

DRY = Don’t Repeat Yourself
Adica nu dam copy-paste in 3 controllere la aceeasi chestie de validare.
KISS = Keep It Simple, Stupid

Multumesc pentru explicatii. :)) Eram pregatit pentru niste concepte mult mai abstracte si mai greu de inteles.

Mi-am pus si ‘defensive programming’ pe lista, momentan mi-e total strain.
Cat despre Linux, m-am atins foarte putin la facultate de el iar in prezent lucrez destul de mult pe terminal de wsl. Dar la fel ca in toate celelalte situatii, am doar niste cunostinte de baza. Mai mult de chmod/chown nu am avut ocazia sa rulez vreodata.

@all Vreau sa va multumesc tuturor celor care v-ati facut timp sa-mi raspundeti, nu m-am asteptat, sincer sa fiu. Ma culc mult mai impacat in seara asta. Sunt sigur ca se vor aseza lucrurile usor, usor, trebuie doar sa-mi pastrez dorinta de a invata (mult mai bine decat am facut-o pana acum).
Astept in continuare sugestii/pareri/sfaturi.

1 Like

si spui ca dupa 3 luni un programator care iese din bootcampul tau o sa stie sa faca ce zici tu in postul ala?

Daca ai aplicat la un internship, nu va avea nimeni pretentia sa stii sa faci avioane din start. Toata lumea e constienta ca nu vei face prea multe lucruri utile in perioada aceea, rolul internshipului fiind acela de a invata mersul lucrurilor si de a te integra in cultura companiei.
Senior developerii care sunt pe proiect au mai mult ca sigur ore de mentoring platite de catre firma, asa ca nu ezita sa le ceri ajutorul atunci cand intampini dificultati.
Important e sa se observe un progres in munca pe care o faci, deoarece in perioada aceasta firma investeste in tine, dar la un moment dat va trebui sa fii tu cel care aduce plus valoare firmei.
Asa ca nu trebuie sa te simti prost ca nu stii sa rezolvi anumite taskuri la inceput, mai mult ca sigur firma te-a luat pentru ce ai putea sa devii in x luni/ani, nu pentru performantele tale actuale. ( sau asa ar fi ideal )

Referitor la cursuri de urmat, sunt foarte multe firme serioase cu reviewuri de 5 stele care se ocupa cu asta. :slight_smile: