Schulungsübersicht
Objektorientiert Programming
- Klassen und Objekte
- Eigenschaften und Methoden
- Konstruktoren und Destruktoren
- Klassenerben
- Sichtbarkeit von Attributen und Methoden (Scope)
- Fehlerbehandlung mit Ausnahmen
- Name-Räume
Einführung in das Symfony-Framework
- Einführung in das Symfony Framework und seine Ökosysteme
- Installation der Symfony « Standard Edition Distribution »
- Aufdecken der Projektarchitektur von Symfony (Anwendung, Bündel, Bibliotheken usw.)
- Verständnis des Workflow für HTTP-Anfragen
- Verständnis des Konzepts einer Umgebung (Entwicklung, Produktion und Test)
- Einführung in die Kodierungs- und Dateinamenskonventionen
- Aufdecken des Konzepts eines « Bundles »
Fehlersuche im Code
- Hilfe durch die « Web Debug Toolbar » erhalten
- Die aufgezeichneten Protokolle analysieren
- Dank der Anwendung « Web Profiler » HTTP-Anfragen profilieren
- Mit expliziten Fehler- und Ausnahme-Sacktraces Probleme erkennen
- Funktionen des Debug und VarDumper Komponenten nutzen
Konfigurieren der Anwendung
- Vergleich der unterstützten integrierten Konfigurationsformate: XML, YAML und PHP
- Die Anwendung dank globaler Parameter konfigurieren
- Konfiguration von Routen und URLs der Anwendung mit Annotationen
- Überschreiben der durch ein integriertes oder Drittanbieter « Bundle » definierten Konfiguration
Generierung von Inhalten für den Endbenutzer
- Einführung in das Twig-Vorlagen-System
- Vergleich von Twig und rohem PHP Vorlagenerstellung
- Accessen globaler Variablen aus Twig-Vorlagen (Anfrage, Sitzung, Benutzer)
- Die Verwendung von Tags, Filtern und Funktionen zur Erzeugung und Formatierung von Inhalten in einer Twig-Vorlage
- Mit der Vorlagen-Erben-Funktion Vorlagen erweiterbar machen
- Vorlagen in kleinere Vorlagenteile aufteilen, um Code-Duplikationen zu vermeiden
- Rendering eines Symfony Controllers aus einer Twig-Vorlage
- Erzeugung von URLs basierend auf der Routen-Konfiguration der Anwendung
- Renderen von Symfony-Formularen mit benutzerdefinierten Twig-Ansichtshilfen
Entwickeln eines Controllers und Analysieren der Anfrage
- Designen einer Controller-Klasse mit Aktionen
- Mit Annotationen URL-Muster auf Symfony-Controller abbilden
- Erzeugung von rohen Responses und Twig-Vorlagen-basierten Responses
- Accessen Informationen des Clients aus dem Request-Objekt
- Aufbereiten und Schreiben von Sitzungsdaten
- Schreiben und Lesen von Cookie-Daten
- Triggern einer 404 Fehlerseite, wenn die Ressource nicht gefunden wird
- Triggern eines internen Redirects zu einem anderen Controller, um Code-Duplikationen zu vermeiden
- Umleiten des Benutzers zu einer anderen Seite
Interaktion mit dem Endbenutzer dank Formularen
- Aufdecken des « Form »-Komponenten
- Designen und Verarbeiten einfacher Webformulare
- Hinzufügen von Validierungsbedingungen auf eingegebene Felder-Daten in Formularen
- Prototyping der Formularanzeige dank Twig-Ansichtshilfen
- Sammeln und Verarbeiten der Daten, die aus einem Formular eingereicht wurden
- Versenden der validierten und gefilterten Formulardaten per E-Mail an einen Empfänger
Internationalisierung und Lokalisierung der Benutzeroberfläche
- Aufdecken des « Übersetzung »-Komponenten
- Wechseln der Standardeinstellung für den Benutzer-Locale
- Definieren benutzerdefinierter abstrakter Übersetzungskeys in Twig-Vorlagen
- Umgang mit dynamischen Übersetzungen einschließlich Mehrzahlformen
Dependency Injection und Service Container
- Verständnis des Dependency-Injection-Prinzips
- Einstieg in den Symfony Dienstcontainer
- Aufzählen aller integrierten Symfony-Dienste dank der Kommandozeilenwerkzeuge
- Anmelden neuer benutzerdefinierter Geschäftsdienste im Dependency-Injection-Container
- Accessen eines angemeldeten Dienstes aus dem Dienstcontainer
- Erstellen und Zugriff auf globale Konfigurationsparameter von Container
Abschluss einer Qualitätsversicherung mit automatisierten Tests
- Aufdecken des PHPUnit Frameworks für die Automatisierung von Tests
- Verständnis der Ziele der Test-Automatisierung (Unit und Funktionalitätstests)
- Konfiguration einer automatisierten Test-Suite
- Designen und Ausführen eines Unit-Test-Suites
- Designen und Ausführen eines Funktionalitäts-Tests-Suites
- Erstellen von Code-Coverage-Berichten
Interaktion mit dem Endbenutzer und Formularen
- Designen und Verarbeiten von Webformularen
- Automatisieren der Formularanzeige dank Twig-Ansichtshilfen
- Anpassung der Formularanzeige mit eingebauten und benutzerdefinierten Twig-Formular-Themen
- Konfiguration von Formular-Feld-Typen als Dienste
- Über Anwendung eingebaute Validierungsbedingungen auf eingegebene Daten
- Anwendung benutzerdefinierter Validierungsregeln auf eingegebene Daten
- Kontextualisierung der Datenspeicherung dank Validation-Gruppen
Beschränkung von Access auf gesicherte Bereiche der Anwendung
- Einstieg in die Prinzipien von Authentifizierung und Autorisierung
- Sichern einiger Seiten der Anwendung dank einer Formbasierten Authentifizierungsstrategie
- Implementieren des Security Guard Sub-Komponenten zum Handhaben der Authentifizierung
- Aufsetzen eines Zugriffskontrollpolicies basierend auf den Rollen des Benutzers
- Testen von Benutzerberechtigungen aus einem Controller und einer Twig-Vorlage
- Anmelden benutzerdefinierter Autorisierungsvorschriften dank der Sicherheit « Voters »
Verbessern der Anwendungsleistung mit HTTP-Caching und ESI
- Einstieg in die Workflows des HTTP-Cachings
- Aufdecken der verschiedenen Arten von Cachesystemen
- Vergleich von Ablauf- und Validierungscachenstrategien
- Anwendung von Ablauf- und Validierungsbedingungen auf erzeugte Webseiten
- Cachen von Seitenfragmente dank der ESI-Technologie (« Edge Side Includes »)
- Installieren und Konfigurieren des eingebauten Reverse-Proxy-Caches von Symfony
Abfrage eines relationalen Database Systems mit Doctrine
- Aufdecken der Grundlagen des Doctrine ORM
- Verständnis der Konzepte von « Entitäten » und « Repositories »
- Automatisieren der Code-Generierung von PHP-Klassen und SQL-Abfragen dank Doctrine
- Persistenz von Daten in die Datenbank dank des EntityManager von Doctrine ORM
- Aufbereiten von Daten aus der Datenbank dank Doctrine
- Erstellen und Ausführen benutzerdefinierter SQL Abfragen dank dem QueryBuilder-Objekt von Doctrine
Voraussetzungen
- Kenntnisse der objektorientierten Programming Konzepte
- Kenntnisse von PHP
Zielpublikum
- Webentwickler
- PHP Programmierer
- Entwickler, die darauf aus sind, robuste Anwendungen mit Symfony zu erstellen
Erfahrungsberichte (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
Kurs - 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
Kurs - 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.