Erfahrungsbericht Symfony Workshop 2024 23. Februar 2024

Symfony

Den roten Faden bildete dabei das Buch von Fabien Potencier „Symfony: The Fast Track“. Der Untertitel dieses Buches „The official Symfony book for newcomers and experienced developers“ bildete dabei den Rahmen des Online-Workshops.

Meine bisherigen Erfahrungen

Meine Erwartungen waren recht hoch, da ich mich für Best Practices interessiere und ich mich auf fortgeschrittene Themen freute. Vor einem Jahr habe ich angefangen mich intensiver mit dem PHP Framework Symfony zu beschäftigen.

Zuvor kam ich damit lediglich am Rande mit einzelnen Komponenten oder Konzepten im TYPO3 Umfeld in Berührung. Meine Einarbeitung war hauptsächlich von den Tutorial-Videos von SymfonyCasts geprägt, wodurch ich mir einen ersten Überblick auf der Basis von Symfony 6 verschaffte.

Mein Projekteinstieg gestaltete sich mit Projekten auf Basis von Symfony 4 und 5 dagegen etwas mühsamer und ich hatte bisher wenig Gelegenheit neue Erfahrungen anhand von aktuellen „Best Practices“ zu sammeln.

Workshop mit holprigem Start

So waren die zwei Tage für mich wieder ein frischer Blick nach vorne – doch ich will zunächst vom Workshop selbst berichten. Der Einstieg in den Workshop gestaltete sich eher holprig. In der Vorbereitung sollten sich alle Teilnehmenden lokal

  • PHP 8.1
  • Symfony Console
  • Webserver

einrichten. Leider fehlten weitere Akzeptanzkriterien. So mussten erst einmal viele Teilnehmenden ihre Umgebung lauffähig bekommen und dass unter Windows, Mac und Linux. Nachdem ich Probleme hatte fehlende PHP-Module nachzuinstallieren, entschied ich mich kurzerhand auf meine gewohnte Containerumgebung mit DDEV zu setzen. Nach zwei Minuten war ich arbeitsfähig und im Verlauf des Workshops musste ich nur ein paar kleine Dinge adaptieren, was durch die nun doch schon vorhandene Projekterfahrung kein Problem darstellte. (Es wurde bereits als Feedback kommuniziert, dass man erfahreneren Entwickler*innen lieber die Wahl lassen und bessere Akzeptanzkriterien an die Umgebung definieren sollte.)

Symfony Flex in Composer

Weiter ging es in recht hohem Grundtempo durch die Kapitel des Buches. Obwohl wir im Prinzip das Beispiel des Buches – eine sehr einfache Konferenzverwaltung mit 2 Models – nachbauten, beschränkte sich Grekas nicht nur auf das reine Copy-Paste von Code. Hier und da führte er uns gut heran, schrieb erst Code, den er anschließend optimierte oder er zeigte uns einen alternativen Weg. Immer eingerahmt in Erklärungen, die ein besseres Verständnis der zugrunde liegenden Komponenten boten. An anderer Stelle ging er schnell über Themen hinweg oder übersprang sie ganz. Generell super, da wir nicht nur Einstiegsthemen behandeln wollten und alle Teilnehmer*innen wenigstens ein Grundverständnis von Webentwicklung mitbrachten.

Neben dem Auffrischen der Grundlagen habe ich gelernt, dass man mit Symfony Flex in Composer eine globale Version für alle Symfony Pakete setzen kann, um sich die Definition an jedem einzelnen Paket zu sparen. Weiterhin erfuhr ich, wie man env Dateien für den Produktiv-Betrieb zu PHP kompilieren kann, um eine bessere Performance zu erhalten.

Mein persönliches Highlight war, dass man in Symfony die Verlinkungen auf Dateien in Exceptions konfigurieren kann. Somit ist es möglich diese mit einem einzigen Klick in seiner IDE zu öffnen und das gleich auf der richtigen Zeile. Generell war es spannend einem Core-Entwickler über die Schulter zu schauen und dabei zu bemerken, dass man selbst schon viel Erfahrung gesammelt hat.

Workshop Demo-Projekt "Konferenzverwaltung mit Kommentarfunktion" / links im Bild: IDE "PhpStorm" mit Code-Ansicht, Datenbank und Terminal / rechts oben: Website-Frontend rechts unten: Backend zum Verwalten der Veranstaltungen (umgesetzt mit EasyAdmin)

Auffrischung mit interessanten Details

Am zweiten Tag ging es weiter mit Twig-Extensions – ich habe im Workshop meine erste  Twig-Extensions geschrieben – Autowiring/DependencyInjection, Forms, Turbo, Security, Scoped Clients, Secret Management und Tests. Außerdem haben wir uns die Messenger-, Mailer- und die Workflow-Komponenten angesehen. Leider hat der Zeitrahmen es nicht mehr erlaubt auf weitere Themen des Buches, wie Caching/Performance, API, Lokalisierung oder Symfony Internals, einzugehen.

Fazit

Im Ganzen hat der Workshop meine Erwartungen nicht hundertprozentig erfüllt, er war aber eine gute Auffrischung, gespickt mit Details, die ich vorher nicht wusste. Zudem war es auch interessant seinen eigenen Wissensstand in einem Umfeld mit anderen Entwicklern einzuordnen.

Autor: Tobias Gaertner

Sie haben Fragen oder möchten mit uns über Ihr digitales Projekt sprechen?

Wir haben die Antworten und freuen uns auf den Kontakt mit Ihnen.

Daniela Zumpf

Projektleitung

Nachricht schreiben