Schulung · Workshop · Coaching · Beratung

Symfony Schulung für Entwickler: Doctrine, Twig und Tests

Symfony für Entwickler: PHP-Anwendungen mit Doctrine, Twig und Tests

Dauer: ab 1 Tag | Preis: ab 900 EUR (Netto) | Termin: Ganztägig + halbtägig

Sie bauen mit Symfony eine PHP-Webanwendung von der ersten Route bis zum Deployment – mit Doctrine, Formularen, Security, Konsolenbefehlen und automatisierten Tests als festem Bestandteil.

Warum setzen so viele PHP-Teams für langlebige Geschäftsanwendungen auf Symfony?

Symfony ist Full-Stack-Framework und Komponentenbibliothek zugleich: HttpFoundation, Console, Routing oder der Dependency-Injection-Container stecken auch in Laravel, Drupal und API Platform. Wer Symfony versteht, versteht deshalb einen großen Teil des modernen PHP-Ökosystems. Für Geschäftsanwendungen, die über Jahre gepflegt werden, zählen vor allem der verlässliche Release-Zyklus mit Long-Term-Support-Versionen, die strikte Deprecation-Politik und ein Service-Container, der Abhängigkeiten sichtbar und testbar macht.

Im Workshop wächst eine Anwendung Kapitel um Kapitel. Sie beginnen mit Symfony CLI, Flex-Rezepten und dem Request-Response-Zyklus, definieren Routen und Controller mit PHP-Attributen und rendern Seiten mit Twig. Doctrine ORM übernimmt Entities, Beziehungen und Migrationen, der Maker Bundle erzeugt das Gerüst, Formulare und Validierungsregeln sichern die Eingaben ab. Danach geht es in die Tiefe: Autowiring und Service-Konfiguration, eigene Konsolenbefehle, Authentifizierung mit dem Authenticator-System, Voter für feingranulare Rechte und der Event Dispatcher. Für Assets lernen Sie AssetMapper und Symfony UX kennen und ordnen Webpack Encore als Bestandslösung ein. Tests mit PHPUnit, WebTestCase und Fixtures ziehen sich durch alle Kapitel, statt am Ende angehängt zu werden.

Wer Symfony-Code von einem Agenten schreiben lässt, profitiert davon, dass Symfony ungewöhnlich gute Voraussetzungen mitbringt: Die Konsole beschreibt die Anwendung selbst. Die Ausgaben von debug:router, debug:container und debug:autowiring geben dem Agenten präzisen Kontext, der Maker Bundle liefert ein konventionelles Gerüst, und lint:container, lint:twig sowie PHPStan melden Fehler, bevor eine Seite aufgerufen wird. Wir arbeiten mit Junie in PhpStorm und zeigen, welche Änderungen – Migrationen, security.yaml, Zugriffsregeln – grundsätzlich ein Mensch freigibt.

Abschluss ist eine kleine Raumbuchung mit Anmeldung, Rollen, Formularen, Mailversand und einem nächtlichen Konsolenbefehl. Ob Sie mit einer neuen Anwendung starten oder eine gewachsene Symfony-4- oder -5-Codebasis modernisieren wollen, legen wir zu Beginn gemeinsam fest; Upgrade-Pfade mit Rector und dem Deprecation-Log bekommen dann entsprechend mehr Raum.

Die meisten Probleme, die ich in Symfony-Codebasen sehe, haben nichts mit dem Framework zu tun, sondern mit Controllern, die alles selbst erledigen: Abfragen, Mails, Berechtigungen, Logging. Symfony bietet für jede dieser Aufgaben einen sauberen Ort – Services, Voter, Events, Messenger. Ein Controller, der länger als eine Bildschirmseite ist, ist fast immer ein Hinweis auf einen fehlenden Service. Wer das früh verinnerlicht, bekommt Anwendungen, die auch nach drei Major-Upgrades noch verständlich und testbar sind.
Themen und Inhalte für Ihre Beratung, Coaching, Workshop, Training, Schulung und Weiterbildung:

Symfony für Entwickler: PHP-Anwendungen mit Doctrine, Twig und Tests

Symfony einordnen und einrichten
  • Symfony als Full-Stack-Framework und Komponentenbibliothek – Einsatz in Laravel, Drupal, API Platform
  • Release-Zyklus, LTS-Versionen (6.4, 7.4) und Deprecation-Politik für die Upgrade-Planung auf 8.x
  • Neues Projekt mit Symfony CLI oder Composer: webapp-Skelett und schlanke Variante
  • Symfony Flex und Rezepte: Pakete installieren und Konfiguration automatisch erzeugen
  • Entwicklungsumgebung: PHP ≥ 8.4 für Symfony 8 (≥ 8.2 für 7.4 LTS), PhpStorm mit Symfony-Plugin, lokaler Server, Docker
  • bin/console und symfony-CLI: Server starten, Befehle auflisten, Umgebungen wechseln
  • Verzeichnisstruktur, Umgebungen dev, test, prod und Konfiguration in config/
Request, Routing und Controller
  • Request-Response-Zyklus: Front-Controller, Kernel, Request- und Response-Objekte
  • Routen mit #[Route]-Attributen: Parameter, Anforderungen, HTTP-Methoden, Präfixe
  • Routen prüfen mit debug:router und router:match
  • MVC in Symfony: schlanke Controller, Logik in Services, Darstellung in Twig
  • Request-Daten abbilden mit #[MapQueryString], #[MapRequestPayload] und #[MapEntity]
  • JSON-Antworten, Weiterleitungen, Flash-Nachrichten und eigene Fehlerseiten
  • Profiler und Web Debug Toolbar: Anfragen, Abfragen und Ereignisse nachvollziehen
Twig-Templates
  • Twig als Template-Sprache: Auto-Escaping, Trennung von Logik und Darstellung
  • Basissyntax: Ausgaben, Filter, Funktionen, Kommentare und Whitespace-Steuerung
  • Zugriff auf Controller-Variablen, app.user, app.request und Flash-Nachrichten
  • Schleifen mit for, Bedingungen mit if, Tests wie defined und empty
  • Template-Vererbung mit extends und block, Wiederverwendung mit include und embed
  • Links und URLs mit path() und url(), Assets mit asset()
  • Wiederverwendbare Oberflächenbausteine mit Twig Components
Assets und Frontend
  • AssetMapper und Importmaps: JavaScript und CSS ohne Node-Build-Kette
  • Webpack Encore in Bestandsprojekten: Konfiguration, Einträge und Umstieg auf AssetMapper
  • Versionierte Dateinamen, Caching und Kompilieren der Assets für die Produktion
  • Symfony UX: Stimulus-Controller und Turbo für interaktive Seiten ohne SPA
Datenzugriff mit Doctrine
  • Doctrine ORM: Entities, Repositories und der Entity Manager
  • Datenbankverbindung über DATABASE_URL für PostgreSQL, MySQL oder SQLite
  • Entities mit make:entity anlegen, Mapping über PHP-Attribute
  • Migrationen erzeugen mit make:migration, prüfen und mit doctrine:migrations:migrate ausführen
  • Beziehungen ManyToOne, OneToMany, ManyToMany – Owning Side und Kaskaden
  • Testdaten mit DoctrineFixturesBundle und Factories aus Zenstruck Foundry
  • CRUD-Abläufe, Gerüst mit make:crud und eigene Abfragen mit dem QueryBuilder
  • N+1-Abfragen erkennen und mit Joins und Fetch-Strategien beheben
Formulare und Validierung
  • Form-Komponente: Formulartypen, Datenbindung an Entities oder DTOs
  • Eigene Formulartypen mit make:form, Optionen und wiederverwendbare Felder
  • Formular-Request verarbeiten mit handleRequest(), isSubmitted() und isValid()
  • Validierung mit Constraint-Attributen wie #[Assert\NotBlank], Gruppen und eigene Constraints
  • Formular-Themes in Twig und CSRF-Schutz
Services und Dependency Injection
  • Dependency Injection und Service-Container: warum Symfony ohne globale Helfer auskommt
  • Verfügbare Services finden mit debug:autowiring und debug:container
  • Autowiring über den Konstruktor, Interfaces binden, #[Autowire] für Sonderfälle
  • Services konfigurieren in services.yaml: Parameter, Tags, Aliase, Decorators
  • Umgebungsvariablen in .env und .env.local, Secrets mit secrets:set
  • Middleware-Ketten im Messenger: Nachrichten asynchron verarbeiten
Konsolenbefehle
  • Console-Komponente: eingebaute Befehle und eigene Werkzeuge für Betrieb und Wartung
  • Eigene Befehle mit make:command und #[AsCommand]
  • Hilfsklassen SymfonyStyle, Fortschrittsbalken, Tabellen und interaktive Fragen
  • Argumente und Optionen deklarieren, auslesen und validieren
  • Wiederkehrende Aufgaben mit der Scheduler-Komponente (stabil seit 6.4) statt Crontab-Einträgen
Sicherheit
  • SecurityBundle: Firewalls, User-Provider und Passwort-Hashing
  • Benutzer anlegen mit make:user, Login-Formular und Abmeldung
  • Eigener Authenticator mit AbstractAuthenticator und Passport für API-Token oder SSO
  • Rollen, Rollenhierarchie und access_control in security.yaml
  • Prüfung mit #[IsGranted] und is_granted() in Twig
  • Voter für Rechte auf einzelne Ressourcen, z. B. „nur eigene Buchungen bearbeiten“
  • Login-Drosselung, Remember-me und Schutz vor CSRF bei der Anmeldung
Ereignisse
  • Event Dispatcher: Entkopplung über Ereignisse statt direkter Aufrufe
  • Listener mit #[AsEventListener] und Subscriber mit EventSubscriberInterface
  • Kernel-Ereignisse kernel.request, kernel.controller, kernel.response, kernel.exception
  • Ereignisse von Formularen, Security und Doctrine im Zusammenspiel
  • Prioritäten, Propagation stoppen und Registrierung prüfen mit debug:event-dispatcher
Tests und Codequalität
  • Teststrategie: Unit-, Integrations- und funktionale Tests in Symfony
  • PHPUnit mit symfony/test-pack einrichten, eigene Testdatenbank für die Umgebung test
  • Services mit KernelTestCase, Controller mit WebTestCase und Crawler testen
  • Testgetrieben arbeiten: erst der funktionale Test, dann Route und Controller
  • Statische Analyse mit PHPStan, Upgrades und Deprecations mit Rector abarbeiten
Betrieb und Deployment
  • Produktionskonfiguration: APP_ENV=prod, Cache aufwärmen, OPcache und Preloading
  • Logging mit Monolog und Fehlerbehandlung in der Produktion
  • Container-Betrieb mit Docker und FrankenPHP oder klassisch mit PHP-FPM und Nginx
Symfony mit Coding-Agenten
  • Ausgaben von debug:router, debug:container und debug:autowiring als Kontext für den Agenten
  • Gerüste mit Maker-Befehlen erzeugen lassen und erst danach anpassen – Konventionen bleiben erhalten
  • Feedbackschleife nach jeder Änderung: lint:container, lint:twig, PHPStan und WebTestCase-Suite
  • Generierte Doctrine-Migrationen vor migrate lesen; security.yaml und Voter nur mit Review
  • Major-Upgrades: Agent arbeitet das Deprecation-Log ab, Rector-Regeln erledigen das Mechanische
Praxisprojekt: Raumbuchung für ein Bürogebäude
  • Räume, Buchungen und Nutzer als Doctrine-Entities mit Migrationen und Fixtures
  • Buchungsformular mit Validierung gegen Überschneidungen und Voter für eigene Buchungen
  • Bestätigungsmail über einen Event-Subscriber, Erinnerungen per Konsolenbefehl und Scheduler
  • Funktionale Tests für Anmeldung, Buchung und Zugriffsschutz als Abnahme
Lernziele
  • Sie legen ein Symfony-Projekt an und verfolgen eine Anfrage vom Front-Controller über Kernel und Controller bis zur Response
  • Sie modellieren Daten mit Doctrine-Entities, Beziehungen und Migrationen und testen sie mit Fixtures
  • Sie bauen Formulare mit Validierung und rendern Seiten mit Twig-Vererbung
  • Sie strukturieren Logik in Services, konfigurieren Autowiring und nutzen Events zur Entkopplung
  • Sie sichern Anwendungen mit Authenticator, Rollen und Votern ab und prüfen das mit funktionalen Tests
Zielgruppe
  • PHP-Entwickler:innen, die vom eigenen Code oder einem Mikroframework auf Symfony umsteigen
  • Entwickler:innen aus Laravel, Java oder .NET, die Symfony-Projekte übernehmen
  • Teams, die eine bestehende Symfony-Anwendung pflegen und auf eine aktuelle Version bringen wollen

*) Die Inhalte werden individuell abgestimmt und mit Praxisbeispielen abgerundet.

Ein Symbol für einen Kalender.

Offene Termine

Kostenlose Reservierung
Ein Symbol für Angebot erhalten.

Unser Angebot

Sind Sie auf der Suche nach einer Veranstaltung, die genau Ihrem Bedarf entspricht? Einer Veranstaltung, welche nur Inhalte vermittelt, die Sie selbst gewählt haben und speziell auf Ihr Unternehmen zugeschnitten ist? Dann sind Sie bei uns richtig!

Dauer

Ein Symbol für Dauer.
ab 1 Tag (8 UE)

Die Dauer richtet sich nach Ihren Vorstellungen und inhaltlichen Wünschen. Sie bekommen genau das, was Sie brauchen.

Preis

Ein Symbol für Preis.
ab 900 EUR (Nettopreis)
ab 1.071 EUR (Bruttopreis)

Die Preise verstehen sich bei Unternehmern gemäß § 14 BGB zzgl. MwSt. Der dargestellte Ab-Preis gilt für firmeninterne Veranstaltungen und entspricht dem niedrigsten Gesamtpreis für Veranstaltungen mit bis zu drei (3) Teilnehmenden.

Termin

Ein Symbol für einen Kalender.
Ganztägig + halbtägig
nach Vereinbarung

Ihr Wunschtermin wird bei der Planung berücksichtigt. Die Veranstaltung findet ganztägig + halbtägig zu flexiblen Zeiten statt.

Ihre Vorteile

Ein Symbol für ein Vorgespräch durchführen.
Persönliches Vorgespräch
Ein Symbol für die individuelle Vorbereitung.
Individuelle Vorbereitung
Ein Symbol für Experten aus der Praxis.
Experten aus der Praxis
Ein Symbol für ein Zertifikat.
Inklusive Zertifikat

Unsere Garantien

1. Relevanz-Garantie

Wir passen den Inhalt spezifisch an die Bedürfnisse jedes Teilnehmers an. Irrelevante Themen werden ausgespart, um den größtmöglichen Nutzen zu garantieren.

2. Qualitäts-Garantie

Durch regelmäßiges Feedback optimieren wir unsere Schulungen kontinuierlich und garantieren Ihnen ein Lernerlebnis der Extraklasse.

3. Zufriedenheits-Garantie

Unsere Zufriedenheitsgarantie spricht für sich – bei Unzufriedenheit entstehen Ihnen keine Kosten.

Wir helfen gerne weiter!

Rufen Sie uns an, schreiben eine E-Mail oder nutzen das Kontaktformular.

Jetzt anfragen
Einige Unternehmen, für die wir tätig waren

Kulturamt der Landeshauptstadt Düsseldorf

W. Peipers & Co. Verwaltungs- und Vertriebs GmbH

Die Medialen GmbH

Teilnehmer

Feedback

Herr Hecker ist sehr gut auf individuelle Wünsche, Fragen und Anregungen eingegangen. Eine sehr informative, interessante und gelungene Veranstaltung.
Teilnehmer

Feedback

Herr Hecker hat das Thema sehr anschaulich dargestellt und ist auf alle Fragen eingegangen. Ich fühle mich jetzt gut vorbereitet, um durchzustarten.
Teilnehmer

Feedback

Die gelassene, professionelle Art hat mir gut gefallen. Kompetent, engagiert, professionell. Gute Beispiele, sympathisches Auftreten. Eigene Themenideen wurden aufgegriffen.
Unser Angebot für Ihre firmeninterne Beratung, Coaching, Workshop, Training und Weiterbildung

Lösungen für Ihren Bedarf an Coaching, Workshop, Training, Schulung und Weiterbildung

Profitieren Sie von unserer langjährigen Expertise in der beruflichen Weiterbildung, modernen Lernmethoden und einem Portfolio von über 600 IT-, Online- und Digital-Beratungsleistungen.
Selbstverständlich lassen sich die einzelnen Themen kombinieren. So erhalten Sie genau die Weiterbildung, die Sie wünschen und brauchen - als Coaching, Workshop, Training, Schulung und Weiterbildung!

✓
Ein Symbol für eine einzelne Person.

Für eine Person

Training & Coaching für Einzelpersonen

  • Passgenaue Inhalte auf den einzelnen Teilnehmer zugeschnitten
  • Ein sehr effektives Format, das schnell Ergebnisse bringt
  • Individuelles Training und Coaching motivieren und wirken
Jetzt anfragen
✓
Ein Symbol für eine Gruppe von Personen.

Für eine Gruppe

Training & Workshops für Teams und Abteilungen

  • Bedarfsgerechte Inhalte auf die Herausforderung der Praxis zugeschnitten
  • Konsequente Praxisorientierung, modernste Techniken und Tools
  • Neue Fähigkeiten und Kenntnisse nachhaltig in den Arbeitsalltag integrieren
Jetzt anfragen
✓
Ein Symbol für ein Unternehmen.

Für eine Firma

Training-Komplett-Lösungen für Ihr Unternehmen‍

  • Ganzheitliche Konzepte für Ihre Mitarbeiterentwicklung
  • Individueller Skill-Katalog zur Erweiterung Ihres internen Weiterbildungsangebots
  • Nachhaltige Personalentwicklung realisieren
Jetzt anfragen

Anfrage für eine unverbindliche + kostenlose Erstberatung zum Thema

Symfony für Entwickler - Beratung, Coaching, Workshop, Training, Schulung und Weiterbildung

Wir freuen uns über Ihre Anfrage und antworten so schnell es geht!

Ich interessiere mich für den Termin:

Termin anfragen

Das Angebot von "HECKER CONSULTING" richtet sich ausschließlich an Unternehmen und Behörden (iSv § 14 BGB). Verbraucher (§ 13 BGB) sind vom Vertragsschluss ausgeschlossen. Mit Absendung der Anfrage bestätigt der Anfragende, dass er nicht als Verbraucher, sondern in gewerblicher Tätigkeit handelt. § 312i Abs. 1 S. 1 Nr. 1-3 und S. 2 BGB (Pflichten im elektronischen Geschäftsverkehr) finden keine Anwendung.

Vielen Dank, Ihre Nachricht wurde empfangen!
Beim Absenden des Formulars ist etwas schiefgelaufen.
Beratung, Coaching, Workshop, Training, Schulung

Ähnliche Leistungen, die Sie interessieren könnten.

Wir erweitern ständig unser Beratungsportfolio. Über 600 IT-, Online-, Digital-Beratungsleistungen haben wir für Sie im Programm. Selbstverständlich lassen sich die einzelnen Themen kombinieren. So erhalten Sie genau die Beratung, die Sie wünschen und brauchen - als Coaching, Workshop, Training, Schulung und Weiterbildung!

Mehr IT-, Online-, Digital-Beratungsleistungen anzeigen >>
Nach oben