Schița de curs
Orientat pe obiecte Programming
- Clase și obiecte
- Proprietăți și metode
- Metode constructor și destructor
- Mostenirea claselor
- Scopuri ale atributelor și metodelor (vizibilitate)
- Gestionarea erorilor cu excepții
- Nume spațiale (namespaces)
Prezentarea Symfony faimework
- Introducerea în cadru-ul Symfony și ecosistemul său
- Instalarea distribuției « Standard Edition » a Symfony
- Cunoașterea arhitecturii proiectului Symfony (aplicație, bundle-uri, biblioteci etc.)
- Comprenderea fluxului de procesare al cererilor HTTP
- Comprehension of the concept of environment (development, production and testing)
- Introducerea convențiilor de codare și denumiri de fișiere
- Cunoașterea conceptului de « Bundle »
Depanarea Codului
- Preluarea ajutorului de la « Web Debug Toolbar »
- Analiza jurnalizării înregistrate
- Profiling HTTP requests thanks to the « Web Profiler » application
- Identificarea problemelor cu ajutorul tracurilor de erori și excepții explicitate
- Utilizarea caracteristicilor componentelor Debug și VarDumper
Configurarea aplicației
- Compararea formatelor de configurare incluse suportate: XML, YAML și PHP
- Configurarea aplicației cu ajutorul parametrilor globale
- Configurarea rutelor și a URL-urilor ale aplicației prin intermediul anotațiilor
- Suprascrierea configurației definite de un « bundle » intern sau al treilea partea
Generarea de conținut pentru utilizatorul final
- Introducerea motorului de șabloane Twig
- Compararea strategiilor de șablonizare Twig și raw PHP
- Acessarea variabilelor globale din șabloanele Twig (cerere, sesiune, utilizator)
- Utilizarea tagurilor, filtrurilor și funcțiilor pentru a genera și formata conținutul într-un șablon Twig
- Facerea de fapt template-uri extensibile cu ajutorul caracteristicii mostenirii template-ului
- Divizarea template-urilor în bucăți mai mici pentru a evita duplicarea codului
- Renderează un controller Symfony din interiorul unui șablon Twig
- Generarea URL-urilor pe baza configurării rutelor aplicației
- Renderea formularelor Symfony cu ajutorul helper-urilor de vizualizare personalizate Twig
Dezvoltarea controlerului și analizarea cererii
- Dezvoltarea unei clase de controller cu metodele sale de acțiune
- Mapează modelele URL la Symfony controlere cu ajutorul anotațiilor
- Generarea răspunsurilor brute și a răspunsurilor bazate pe șabloane Twig
- Acessarea informațiilor clientului din obiectul Cerere (Request)
- Citirea și scrierea datelor sesiunii
- Citirea și scrierea datelor de cookie-uri
- Trigerizarea paginii cu eroare 404 atunci când resursa nu este găsită
- Trigerizarea unei redirecționări interne către un alt controller pentru a evita duplicarea codului
- Redirecționarea utilizatorului către o altă pagină
Interacțiunea cu utilizatorul final datorită Formularelor
- Cunoașterea componentului « Form »
- Dizajnarea și procesarea formularelor web simple
- Adăugarea restricțiilor de validare pe câmpurile formularului trimise
- Protoțiparea vizualizării formularului cu ajutorul helper-urilor de vizualizare Twig
- Colecționarea și procesarea datelor formularului trimise
- Trimiterea datelor formularului validate și filtrate prin e-mail către un destinatar
Internaționalizarea și localizarea interfeței cu utilizatorul
- Cunoașterea componentului « Translation »
- Schimbarea limbii utilizatorului implicită
- Definirea cheilor de traducere abstracte personalizate în șabloanele Twig
- Gestionarea cu tranzacționare dinamică inclusiv propoziții plurela
Container de injecție și service de dependență
- Comprehension of the dependency injection principle
- Preluarea prin intermediul containerului de servicii Symfony
- Listarea tuturor serviciilor incluse în Symfony cu ajutorul instrumentelor liniei de comandă
- Inregistrarea de noi servicii personalizate ale afacerii în containerul de injecție de dependențe
- Acessarea unui serviciu înregistrat din container
- Creați și accesați parametri de configurare globale din container
Contractarea unei asigurări de calitate cu teste automate
- Cunoașterea framework-ului de automatizare a testelor PHPUnit
- Comprehension of the goals of automating tests (unit and functional tests)
- Configurarea unei colecții de teste automate
- Dizajnarea și executarea unui set de teste unitare
- Dizajnarea și executarea unui set de teste funcționale
- Generarea rapoartelor de acoperire a codului
Interacțiunea cu utilizatorul final și formularele
- Dizajnarea și procesarea formularelor web
- Automatizarea vizualizării formularului cu ajutorul helper-urilor de vizualizare Twig
- Vizualizarea personalizată a formularului cu temele de formular intern și personalizate Twig
- Configurarea tipurilor câmpurilor formular ca servicii
- Aplierea regulilor standard de constrângere de validare asupra datelor trimise
- Aplierea regulilor de constrângere de validare personalizate asupra datelor trimise
- Contextualizarea validării datelor cu ajutorul grupurilor de validare
Restricționarea Access la zonele securizate ale aplicației
- Preluarea principiilor autentificării și autorizației
- Securizarea unor pagini ale aplicației cu ajutorul unei strategii de autentificare bazată pe formular
- Implementarea subcomponentei Security Guard pentru gestionarea autentificării
- Etablirea unei politici de control al accesului bazat pe rolurile utilizatorului
- Testarea permisiunilor utilizatorului dintr-un controller și un șablon Twig
- Inregistrarea regulilor personalizate de autorizație cu ajutorul « voter-urilor » de securitate
Îmbunătățirea performanțelor aplicațiilor cu HTTP Caching și ESI
- Preluarea fluxurilor de lucruri ale cache-ului HTTP
- Cunoașterea diferitelor tipuri de sisteme de cache
- Compararea strategiilor de expirare și validare a cache-ului
- Aplierea restricțiilor de cache de expirare și validare asupra paginilor web generate
- Caching fragmentelor de pagină cu ajutorul tehnologiei ESI (« Edge Side Includes »)
- Instalarea și configurarea proxy-ului invers intern al Symfony
Interogarea unui sistem relațional Database cu doctrină
- Cunoașterea bazelor Doctrine ORM
- Comprehension of the concepts of « entities » and « repositories »
- Automatizarea generării codului de clasele PHP și cererilor SQL cu ajutorul Doctrine
- Persistența datelor către baza de date cu ajutorul managerului entităților Doctrine ORM
- Cercetarea datelor din baza de date cu ajutorul Doctrine
- Construirea și executarea cererilor personalizate SQL cu ajutorul obiectului Doctrine Query Builder
Cerințe
- Cunoașterea conceptului de Orientare Obiecte Programming
- Cunoașterea PHP
- Cunoaștere de bază a oricărui cadru MVC/MVP
Publicul țintă
- Dezvoltatorii web
- Programatori PHP
- Dezvoltатори căutând să construiască aplicații robuste cu Symfony
Mărturii (3)
Abhinav did an excellent job! Within four days he covered all the important concepts that are used in REAL software development. I am so thankful have him as our trainer!.
Vijay Joseph
Curs - Web Development with Symfony3
I liked the trainer's communication & knowledge in Symphony 3 and associated technologies. He had taken enough effort to teach and demonstrate with some examples in the respective topics. I can say my symphony knowledge and confidence level is gone up after this training.
Hari Kumar
Curs - Web Development with Symfony3
I like the Doctrine concept in Symphony taken by the trainer. The trainer is more energetic and make the sessions more interactive. I think it is a great capability of the trainer.