XIMA Logo
XIMA Logo

Menü

Kontakt

Captcha image

Die mit * gekennzeichneten Felder sind Pflichtfelder.

XIMA MEDIA GmbH
Sudhausweg 9
01099 Dresden
Anfahrt

Tel: +49 351 81050 0
Fax: +49 351 81050 20
kontakt@xima.de

Erfahrungsbericht zum Symfony Workshop 2024

23. Februar 2024 | XIMA

Der Workshop hat im Rahmen der SymfonyOnline vom 13. bis 14. Januar 2024 stattgefunden. Nicolas Grekas, ein Core-Entwickler und langjähriger Symfony Maintainer, teilte an zwei Tagen sein Wissen mit den Teilnehmenden. 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

Ansprechpartner

Wir verwenden Cookies

Ihre Zustimmung können Sie jederzeit widerrufen.

Die Seite www.xima.de nutzt eigene Cookies, um die Seite bereitstellen zu können („Funktionale Cookies“). Außerdem werden Cookies verwendet, um Informationen über die Nutzungsweise und das Besucherverhalten zu erhalten ("Statistik Cookies").

Mit einem Klick auf die Schaltfläche „Alle akzeptieren“ erklären Sie sich damit einverstanden. Ihr Einverständnis kann jederzeit mit Wirkung für die Zukunft widerrufen oder geändert werden. Funktionale Cookies werden auch ohne Ihr Einverständnis ausgeführt.  Mit ausschliesslich funktionalen Cookies fortfahren

Mit einem Klick auf die Schaltfläche „Auswählen“ können persönliche Einstellungen vorgenommen werden.

Unter Datenschutz informieren wir ausführlich über Art und Umfang der Datenverarbeitung sowie Ihre Rechte. Weitere Informationen finden Sie unter Impressum