Laravel: De la Prima Linie de Cod la Aplicatii Profesionale
Framework-ul #1 PHP din lume, pas cu pas.
Laravel este framework-ul ales de sute de mii de dezvoltatori si companii din intreaga lume. Daca vrei sa construiesti aplicatii web robuste, rapide si elegante, acesta este cursul care te duce acolo. Invatam impreuna de la zero - de la „ce este PHP?" pana la aplicatii complexe cu autentificare, API-uri, panouri de administrare si deploy pe servere de productie.
Nu conteaza daca esti complet incepator sau daca ai deja experienta cu alte limbaje. Fiecare nivel te duce cu un pas mai departe, cu proiecte reale pe care le poti pune in portofoliu.
Curricula Cursului
Nivel Incepator - 40 ore
Pentru cei care vor sa invete programare web de la zero. Pornesti de la „ce este PHP?" si termini cu o aplicatie functionala construita in Laravel. Cerinte: un laptop si dorinta de a invata.
Atelierul Programatorului (Instalare si setup)
Inainte sa construiesti, iti pregatesti uneltele.
Ce vom face: Instalam tot ce avem nevoie: PHP, Composer, Laravel, un editor de cod (VS Code) si un server local. Cream primul proiect Laravel si il pornim in browser. Invatam structura de foldere - ce e in fiecare „sertar".
Rezultatul tau: Vei avea mediul de lucru complet instalat si prima ta aplicatie Laravel va rula in browser la adresa localhost.
Drumurile Aplicatiei (Rute si primi pasi in PHP)
Cand cineva acceseaza o adresa, Laravel trebuie sa stie ce sa ii arate.
Ce vom face: Invatam bazele PHP (variabile, conditii, bucle) direct in context Laravel. Apoi cream rute: cand cineva acceseaza /about, arata pagina „Despre noi". Invatam sa trimitem date catre pagini si sa cream link-uri intre ele.
Rezultatul tau: Vei sti bazele PHP si vei avea un site cu mai multe pagini care comunica intre ele prin rute Laravel.
Fatada Frumoasa (Blade Templates)
HTML-ul e scheletul, Blade ii da viata.
Ce vom face: Invatam Blade, motorul de template-uri al Laravel. Cream un layout principal (header, footer, meniu) pe care il reutilizam pe toate paginile. Invatam directivele Blade: @if, @foreach, @include si cum sa afisam date dinamic.
Rezultatul tau: Site-ul tau va avea un layout profesional cu header si footer consistent pe toate paginile, si vei sti sa afisezi continut dinamic.
Creierul din Spate (Controllere si MVC)
Organizare, nu haos. Fiecare piesa isi are locul ei.
Ce vom face: Invatam arhitectura MVC (Model-View-Controller) - cum Laravel separa logica de prezentare. Cream controllere care primesc cererea, proceseaza datele si returneaza raspunsul. Mutam toata logica din rute in controllere curate.
Rezultatul tau: Codul tau va fi organizat profesional. Vei intelege de ce MVC exista si de ce fiecare programator Laravel il foloseste.
Dulapul cu Date (Baze de date si Migrari)
Aplicatia trebuie sa tina minte lucruri. Aici intra baza de date.
Ce vom face: Instalam MySQL, invatam ce e o baza de date (tabele, coloane, randuri). Cream migrari - fisiere PHP care descriu structura tabelelor. Invatam sa adaugam coloane, sa le modificam si sa populam baza de date cu date de test (seeders).
Rezultatul tau: Vei avea o baza de date cu tabele create prin migrari si vei intelege cum Laravel gestioneaza structura datelor in mod profesional.
Vrajitorul Eloquent (Modele si relatii)
Eloquent transforma tabelele din baza de date in obiecte PHP elegante.
Ce vom face: Cream modele Eloquent si invatam sa interactionam cu baza de date fara sa scriem SQL. Adaugam, citim, modificam si stergem inregistrari. Apoi invatam relatiile: un Autor are multe Articole, un Articol apartine unei Categorii (hasMany, belongsTo).
Rezultatul tau: Vei putea interactiona cu baza de date elegant, fara SQL, si vei avea modele conectate intre ele prin relatii.
Formulare (Primim date de la utilizator)
Utilizatorul completeaza un formular. Laravel il proceseaza si salveaza.
Ce vom face: Cream formulare HTML, le conectam la controllere, validam datele (emailul e valid? numele nu e gol?) si le salvam in baza de date. Invatam Form Requests pentru validare curata si afisam mesajele de eroare inapoi in formular.
Rezultatul tau: Vei avea formulare de contact, de adaugare articole sau de inregistrare - cu validare completa si mesaje de eroare clare.
Lacatul si Cheia (Autentificare cu Breeze)
Cine esti? Ai voie sa fii aici? Laravel verifica.
Ce vom face: Instalam Laravel Breeze si in 5 minute avem: pagina de inregistrare, login, logout, resetare parola si pagina de profil. Invatam cum functioneaza pe interior: middleware, guards si sesiuni.
Rezultatul tau: Aplicatia ta va avea sistem complet de autentificare: utilizatorii se pot inregistra, loga si reseta parola.
CRUD Complet (Proiectul prinde viata)
Create, Read, Update, Delete - cele 4 operatii fundamentale.
Ce vom face: Combinam tot ce am invatat: cream un modul CRUD complet (ex: un blog sau un sistem de task-uri). Lista de articole, pagina de creare, editare, stergere cu confirmare, paginare si cautare de baza. Totul conectat cu autentificarea.
Rezultatul tau: Vei avea o aplicatie completa cu autentificare si CRUD: te loghezi, adaugi articole, le editezi si le stergi. Exact cum functioneaza 90% din aplicatiile web.
Pe Internet! (Git si primul deploy)
Aplicatia ta trece de pe laptop pe internet.
Ce vom face: Invatam Git (commit, push, pull) si ne salvam codul pe GitHub. Apoi facem deploy pe un server gratuit sau ieftin. Configuram baza de date de productie, variabilele de mediu (.env) si vedem aplicatia live.
Rezultatul tau: Targul de proiecte! Aplicatia ta Laravel este online, cu un link real. Codul e pe GitHub si ai facut primul tau deploy profesional. Felicitari, esti developer Laravel!
Nivel Mediu - 40 ore
Ai o aplicatie Laravel functionala. Acum o transformam intr-un produs profesional: interfete reactive cu Livewire, panou admin cu Filament, upload fisiere, notificari, API-uri si teste. Prerequisit: Nivelul Incepator sau experienta echivalenta cu Laravel.
Livewire: Magia fara JavaScript
Butoane care functioneaza, tabele care se actualizeaza, tot fara sa scrii JavaScript.
Ce vom face: Instalam Livewire si cream componente reactive: un formular de cautare care filtreaza rezultatele in timp real, un tabel cu sortare pe coloane si un counter simplu. Invatam ciclul de viata al componentelor si proprietatile reactive.
Rezultatul tau: Vei avea componente Livewire care reactioneaza instant la actiunile utilizatorului, fara sa reincarce pagina si fara sa scrii JavaScript.
Filament: Panoul de Comanda
Un panou de administrare complet, generat automat din modelele tale.
Ce vom face: Instalam Filament si cream resurse admin pentru modelele existente. In loc sa construim manual pagini de lista, creare, editare si stergere, Filament le genereaza automat. Personalizam coloane, filtre, actiuni si formulare.
Rezultatul tau: Vei avea un panou admin profesional cu tabele, filtre, cautare si formulare - construit in o fractiune din timpul necesar manual.
Roluri si Permisiuni
Adminul vede totul. Editorul scrie articole. Clientul isi vede doar comenzile.
Ce vom face: Implementam un sistem de roluri si permisiuni cu Spatie Permission. Cream roluri (Admin, Editor, User), atribuim permisiuni (poate_sterge_articole, poate_vedea_rapoarte) si protejam rutele si actiunile cu Policies si Gates.
Rezultatul tau: Aplicatia ta va avea un sistem complet de autorizare: fiecare utilizator vede si face doar ce ii permite rolul sau.
Fisiere si Poze
Avatare, documente PDF, galerii foto - aplicatiile reale lucreaza cu fisiere.
Ce vom face: Invatam sistemul de Storage din Laravel: upload fisiere, stocare pe disk local sau in cloud (S3), generare thumbnails pentru imagini, validare tip si dimensiune. Integram upload-ul in Filament si in Livewire.
Rezultatul tau: Utilizatorii vor putea incarca poze de profil si documente, iar fisierele vor fi stocate si servite profesional.
Emailuri si Notificari
Confirmare cont, resetare parola, alerta noua comanda - toate automate.
Ce vom face: Cream Mailables (emailuri cu template frumos), configuram Notifications (email, baza de date, broadcast). Invatam sa folosim Queues pentru a trimite emailurile in fundal fara sa incetineasca aplicatia.
Rezultatul tau: Aplicatia ta va trimite emailuri profesionale automat si va afisa notificari in panoul admin - totul procesat in fundal.
API-uri
O aplicatie mobila sau un alt site vrea datele tale. API-ul le livreaza.
Ce vom face: Cream un REST API cu Laravel: endpoint-uri pentru CRUD, autentificare cu Sanctum (token-uri), API Resources pentru formatarea raspunsurilor si documentatie cu Scribe sau Swagger. Testam cu Postman.
Rezultatul tau: Aplicatia ta va avea un API complet, documentat si securizat, pe care orice aplicatie mobila sau serviciu extern il poate consuma.
Relatii Avansate si Query Scopes
Eloquent poate mult mai mult decat hasMany si belongsTo.
Ce vom face: Invatam relatii complexe: many-to-many (taguri pe articole), has-many-through, relatii polimorfe. Cream Query Scopes reutilizabile (->active(), ->recent()), Accessors, Mutators si Casts pentru date curate.
Rezultatul tau: Vei scrie query-uri elegante si reutilizabile. Modelele tale vor fi curate, puternice si usor de inteles de oricine.
Evenimente si Jobs
Utilizatorul plaseaza o comanda. In fundal: email de confirmare, actualizare stoc, notificare admin.
Ce vom face: Invatam Events & Listeners (cand se intampla X, fa Y), Queue Jobs (sarcini in fundal), Scheduled Tasks (cron jobs Laravel). Configuram un worker de queue si vedem cum procesam sarcini fara sa incetineasca aplicatia.
Rezultatul tau: Aplicatia ta va procesa sarcini grele in fundal: emailuri, rapoarte, importuri - fara ca utilizatorul sa astepte.
Teste Automate
Ai modificat ceva si s-a stricat altceva? Testele te avertizeaza inainte sa ajunga la clienti.
Ce vom face: Invatam Pest (framework-ul modern de testare PHP). Scriem teste pentru modele, controllere si API: Feature Tests (testeaza fluxul complet) si Unit Tests (testeaza piese izolate). Configuram baza de date de test.
Rezultatul tau: Vei avea o suita de teste care verifica automat daca aplicatia functioneaza corect. Un singur „php artisan test" si stii daca totul e OK.
Proiect Complet
Punem totul cap la cap intr-un proiect real de portofoliu.
Ce vom face: Construim o aplicatie completa (ex: sistem de gestiune interna, CRM sau platforma de continut) care foloseste: Livewire, Filament admin, roluri, API, notificari, teste si deploy. Code review si refactoring final.
Rezultatul tau: Vei avea un proiect complet in portofoliu, construit profesional, cu cod curat si testat. Gata de aratat la un interviu sau de folosit intr-un proiect real.
Nivel Avansat - 40 ore
Esti developer Laravel si vrei sa treci la nivelul urmator: arhitecturi scalabile, multi-tenancy, microservicii, performance tuning si aplicatii SaaS de productie. Prerequisit: Nivelul Mediu sau experienta solida cu Laravel.
Arhitectura Curata
Codul bun nu e doar cod care functioneaza. E cod care se mentine usor peste 2 ani.
Ce vom face: Invatam pattern-uri de design aplicate in Laravel: Repository Pattern, Service Layer, Action Classes, DTOs (Data Transfer Objects). Refactorizam cod „gras" din controllere in clase specializate. Invatam cand sa folosim fiecare pattern si cand e over-engineering.
Rezultatul tau: Vei scrie cod care poate creste fara sa devina haotic. Controllerele tale vor fi subtiiri, logica separata si testabila independent.
Multi-Tenancy
Fiecare client are datele lui, dar toti ruleaza pe acelasi cod.
Ce vom face: Implementam multi-tenancy cu pachetul Stancl/Tenancy: fiecare tenant primeste baza lui de date sau un prefix de izolare. Configuram subdomenii automate (client1.app.ro), migrari per tenant si seed-uri de onboarding.
Rezultatul tau: Vei putea inscrie clienti noi care primesc automat propriul spatiu izolat, cu subdomain propriu si date separate.
Abonamente si Plati
Subscriptii lunare, trial gratuit, upgrade, downgrade - tot automat.
Ce vom face: Integram Laravel Cashier cu Stripe: cream planuri de abonament (Free, Pro, Enterprise), pagina de pricing, checkout securizat, gestionare carduri, facturi automate PDF si webhook-uri pentru sincronizarea statusului platii.
Rezultatul tau: Aplicatia ta va accepta abonamente recurente cu Stripe, cu trial, upgrade/downgrade si facturi automate.
Real-Time
Chat live, notificari instant, dashboard-uri care se actualizeaza singure.
Ce vom face: Configuram Laravel Reverb (sau Pusher) pentru comunicare in timp real. Cream un sistem de notificari live (clopotelul care se actualizeaza fara refresh), un chat simplu si un dashboard cu date live. Invatam Broadcasting, Channels si Presence.
Rezultatul tau: Aplicatia ta va avea functionalitati in timp real: notificari instant, actualizari live si comunicare bidirectionala intre server si browser.
Performanta
O aplicatie lenta e o aplicatie moarta. Hai sa o facem rapida.
Ce vom face: Invatam tehnici de optimizare: Eager Loading (eliminam N+1 queries), cache cu Redis (pagini, query-uri, fragmente), database indexing, query optimization cu Laravel Debugbar si Telescope. Testam cu tool-uri de load testing.
Rezultatul tau: Vei sti sa identifici si sa rezolvi problemele de performanta. Aplicatia ta va raspunde in sub 200ms chiar si sub incarcare mare.
Securitate Avansata
Cand ai date de clienti si plati, securitatea e prioritatea #1.
Ce vom face: Implementam 2FA (Two-Factor Authentication), rate limiting avansat, CORS corect, Content Security Policy, audit logging (cine a modificat ce si cand), encriptare date sensibile si protectie OWASP Top 10.
Rezultatul tau: Aplicatia ta va fi securizata la standard enterprise: 2FA, audit log, encriptare si protectie impotriva celor mai comune atacuri web.
CI/CD si DevOps
Push pe GitHub, testele ruleaza automat, deploy-ul se face singur.
Ce vom face: Configuram GitHub Actions: la fiecare push ruleaza testele, analiza statica (Larastan/PHPStan) si, daca totul e verde, deploy automat. Invatam Laravel Forge sau Ploi pentru server management, zero-downtime deployments si rollback.
Rezultatul tau: Vei avea o pipeline CI/CD completa: push code -> teste automate -> deploy automat. Fara FTP, fara frica, fara downtime.
Pachete Laravel
Ai scris ceva util? Impacheteaza-l si distribuie-l lumii.
Ce vom face: Invatam sa cream un pachet Laravel de la zero: structura, Service Provider, configuratie publicabila, migrari, teste, documentatie. Il publicam pe Packagist si il instalam cu Composer in alte proiecte. Invatam si sa contribuim la pachete open-source existente.
Rezultatul tau: Vei avea propriul pachet Laravel publicat pe Packagist, instalabil cu „composer require numeletau/pachet".
Monitoring si Observabilitate
Daca nu monitorizezi, afli de probleme de la clienti. Prea tarziu.
Ce vom face: Configuram Laravel Telescope (debugging local), Sentry (error tracking in productie), health checks, uptime monitoring si alerte. Cream dashboards cu metrici: timp de raspuns, erori per minut, queue backlog, disk space.
Rezultatul tau: Vei sti in orice moment daca aplicatia ta functioneaza corect. Erorile iti vor trimite alerta pe email/Slack inainte ca clientii sa observe.
Proiect SaaS Final
Tot ce am invatat, intr-o aplicatie SaaS reala, gata de monetizat.
Ce vom face: Construim un SaaS complet: multi-tenant, cu abonamente Stripe, panou admin Filament, API documentat, real-time notifications, CI/CD pipeline, monitoring si landing page cu pricing. Code review, optimizare si lansare.
Rezultatul tau: Demo Day! Prezinti un produs SaaS complet si functional. Ai un proiect de portofoliu de nivel senior si toate cunostintele necesare pentru a construi orice aplicatie Laravel. Felicitari, esti un Laravel Developer avansat!
Tehnologii & Ecosistem
Detalii Curs
Înscrie-te la Acest Curs
Completează formularul de mai jos și te vom contacta în maximum 24 de ore.