Hands-on mit DDD, Design Patterns & Co
Neben spannenden Talks bietet die SymfonyCon auch eine breite Auswahl an praxisnahen Workshops – perfekt, um tief in bestimmte Themen einzutauchen. Gemeinsam mit meiner Kollegin Doriana nehme ich am Workshop „DDD and Symfony in Practice” teil, moderiert von Stefan Koopmanschap.
Der Workshop startet mit einem kompakten Recap zu Domain-Driven Design (DDD) und hexagonale Architektur. Danach geht es direkt ans Eingemachte: anhand eines einfachen Symfony-Projekts – einer Blog-Verwaltung mit Authentifizierung und Kommentarfunktion – wenden wir die Prinzipien des DDD an und führen schrittweise eine hexagonale Architektur ein. Besonders spannend ist der ständige Austausch innerhalb der Gruppe: unterschiedliche Herangehensweisen und Interpretationen bzw. Implementierungen führen zu interessanten Diskussionen und neuen Perspektiven auf altbekannte Konzepte.
Am zweiten Workshop-Tag besucht Doriana den Workshop „Refactor your code – refactor yourself“ mit Peter Dietrich, während ich mich für „Mastering OOP & Design Patterns“ mit Alexandre Salomé entscheide. Dort kann ich mein Wissen rund um objektorientierte Programmierung (OOP) und Design Patterns auffrischen und vertiefen. Dadurch kann ich auch viele neue Design Patterns kennenlernen und ausprobieren – von Creational über Structural bis hin zu Behavioral Patterns. Diese Konzepte helfen nicht nur dabei, die Robustheit und Wartbarkeit (Maintainability) von Code zu verbessern, sondern machen Projekte langfristig auch besser lesbar und erweiterbar.
Talks, Insights & Inspiration – Highlights der SymfonyCon
Neben den Workshops sind es vor allem die zahlreichen Talks, die für jede Menge neue Impulse sorgen. Die Auswahl ist riesig – von tief technischen Themen bis hin zu ganz persönlichen Denkanstößen. Einige davon beeindrucken mich besonders (allerdings gehen sich hier leider nicht alle aus 😉):
🛠 Twig-Updates & ein Blick zurück
15 Jahre Twig – und es hat sich einiges getan! Fabien Potencier (Gründer von Symfony) eröffnet die Konferenz mit spannenden Neuerungen im beliebten Templating-System:
- Template Cache Hot-Reloading
- Named Arguments
- Inline Kommentare im Template
- Argument Unpacking
- Compile-Time Checks mit {% guard %}
- und vieles mehr … (New in Twig 3.15 (part 1) & New in Twig 3.15 (part 2))
🧠 „Refactor your code – refactor yourself“
In diesem Talk versucht Peter Dietrich eine gedankliche Brücke zwischen Psychologie & Softwareentwicklung zu schaffen und dabei das bekannte Code-Refactoring auch bei unserem Denken anzuwenden. Anhand von cleveren Metaphern schafft er eine Selbstreflexion des eigenen Mindsets mit Prinzipien der Programmierung.
Dabei gibt es einige Tipps für die persönliche Einstellung bei Refactoring:
- there is no bad code
- nobody writes bad code on purpose
- acknowledge - don't blame, don't excuse (yourself, colleagues, partners, parents)
- always celebrate that you learned a better way to do it
Diese technischen Tipps können auch in die eigene Denkweise ins reale Leben übertragen werden:
wir alle haben EventListener im Leben, wir reagieren (listen) auf bestimmte Geschehnisse (Events) oftmals unterbewusst. Um diese Listener zu verstehen, müssen wir unseren Code mit Xdebug debuggen und Breakpoints setzen. Es gibt Trigger, Conditions, Validation und schlussendlich eine Response oder Action.
Wichtig ist dabei herauszufinden, was dieser Code gemacht hat, was die Absichten waren und wovon uns dieser Code einmal beschützt hat. Wenn wir das bestimmen können, ist es uns möglich zu überlegen, ob wir diesen „Schutz“ überhaupt noch brauchen.
Spannend!
🪦 „Resurrecting the Dead“
Wiederbelebung der Toten … Open-Source-Software (OSS) Projekte. Der Talk von Juliette Reinders Folmer, der unter die Oberfläche geht – emotional, ehrlich und aufrüttelnd. Es geht um ein oft vernachlässigtes Thema: Was passiert mit Open-Source-Projekten, wenn die Maintainer nicht mehr können oder wollen?
Juliette spricht über:
- den hohen persönlichen Aufwand, der oft hinter Projekten steckt – Zeit, Energie, oftmals sogar mentale Gesundheit
- die Notwendigkeit von Nachfolge-Strategien: Wer übernimmt das Projekt, wenn der/die Maintainer ausfällt? (oder sogar stirbt) Wie hoch ist die barrier to entry?
- „Funding is not optional“ – Open Source kann nicht von freiwilliger Arbeit alleine überleben. Es braucht nachhaltige, finanzielle Unterstützung.
Dazu gibt sie praktische Tipps:
- Repositories dokumentieren & auf mehrere Schultern verteilen
- „Good first issue“-Labels nutzen, um den Einstieg neuer Contributer zu erleichtern
- Die Schlüssel nicht nur für sich behalten: Domains, DNS, Repositories, Packagist, GitHub-Orgs, Social Media usw.
- Das GitHub Successor Feature einrichten, um frühzeitig zu regeln, wer Zugriff bekommt
- Sich selbst nicht überfordern. Feedback-Kultur verbessern, Einsamkeit vermeiden
- Bring vielleicht auch deinen Arbeitgeber dazu, der Open Source Pledge beizutreten und aktiv OSS zu unterstützen
Ein Talk, der wachrüttelt – und zeigt, dass „frei“ nicht „kostenlos“ bedeutet.
Liste aller Talks: https://live.symfony.com/2024-vienna-con
Sammlung von Folien & Infos zu den einzelnen Talks: https://github.com/SymfonyCon/2024-talks
Fazit – Community, Code & ganz viel Inspiration
Alles in allem ist die SymfonyCon 2024 ein rundum gelungenes Event – lehrreich, unterhaltsam, inspirierend und voll mit spannenden Begegnungen.
Besonders schön ist es, das Ganze gemeinsam mit meinen Kolleg:innen zu erleben und dabei auch die PHP-Community hautnah zu spüren.
Ein besonderes Highlight: der Austausch mit Roman Pronskiy, Executive Director der PHP Foundation. In lockerer Runde tauschen wir uns mit anderen Teilnehmenden über die aktuellen Bedürfnisse der Sprache, die Zukunft von PHP und Themen wie Debugging mit Xdebug im Vergleich zu anderen Sprachen aus. Spannende Einblicke, die über den Tellerrand hinausgehen.
Was bleibt, ist die Freude am Miteinander, das Kennenlernen neuer Gesichter, das Teilen von Ideen – und natürlich: Stickers, Swag & jede Menge Nerd-Humor. 😄