SymfonyLive Online German Edition 2021

16. April 2021

Watch the talks in video

If you attended this conference, watch the replay of the talks.
Otherwise, you can Buy a ticket to replay the videos.

Boring is the new hype

Fabien Potencier

You are not Google, are you? 99.9% of applications will never have the problems top websites face. So, why are we using the same strategies?

This controversial session will talk about taking informed decisions when starting a project from a technical, economical, and ecological point of views. These decisions will greatly influence the maintenance of an application as well. When the project is finally stable and switch to a more quiet pace of fixes and small features, you will thank me for choosing boring technologies. I will share how I maintain my small and not so small projects. From a good dependency upgrade strategy to cron, backup, and error monitoring, there is a lot to talk about.

Let's get visual - Visuelles Testing in Deinem Symfony Projekt

Ramona Schwering

In Deinem Projekt sind Tests wichtig: Das weißt Du wahrscheinlich schon und so erledigst Du es selbst - oder deine lieben Tester. Doch sobald Dein Projekt immer weiter wächst, wird das immer mühsamer - Jede Deiner Änderungen kann etwas in Deinem Projekt brechen, ohne das Du es merkst. Aber nach jedem Merge mit einer Checkliste diesen Seiteneffekten hinterher zu rennen ist auch keine Lösung. Doch End-to-end Tests machen nur das, was Du ihnen sagst - schauen also nicht nach rechts oder links. So können zB. Fehler im Styling unbemerkt bleiben.

Also was nun? Visuelles Testing vergleicht das Aussehen Deiner Anwendung mit einem vorherigen Stand. Wenn Veränderungen deutlich werden, kannst Du diese erlauben oder halt nicht. Somit hast Du oder Deine Tester seine Augen überall - ohne den Zwang, immer wieder manuell zu prüfen.

Ich nutze visuelles Testing schon eine Weile und es hat mir schon einpaar mal meinen Hals gerettet. Lasst uns meine Reise einmal gemeinsam anschauen und erforschen, ob und wie Visual Testing auch in euren Projekten helfen kann.

Symfony Notifier Demystified

Jan Schädlich

Mit Symfony 5.3 ist die Notifier Komponente nun nicht mehr als experimentell markiert. Ein guter Zeitpunkt um einmal genauer zu schauen wie der Symfony Notifier funktioniert, welche Integrationen es bereits gibt und was man damit alles machen kann.

WebAuthn - Technologie und Integration in einem Symfony-Projekt

Stefan Richter

Wir leben in einer Welt, in der jeder jeden Tag Passwörter verwendet, um sich bei verschiedensten Websites und Diensten anzumelden. Es ist also klar, dass Passwörter ein kritischer Punkt in der Cybersicherheit sind. Leider sind sie damit auch auch die größte Schwachstelle in IT-Systemen, da sie für 80 % aller Sicherheitsprobleme verantwortlich sind. Es gibt jedoch bessere Lösungen. Zum Beispiel das FIDO2-Projekt mit dem Standard WebAuthn, der es Benutzern ermöglicht, sich ohne Passwort auf Webseiten einzuloggen. Diese Präsentation stellt den Standard vor, wie er funktioniert und seine Implementierung in einem Symfony-Projekt. Er deckt auch die JavaScript-API-Implementierungen ab und stellt einige Symfony-Bundles vor. Ich werde detailliert darauf eingehen, wie man diese Bundles implementiert und auf welche Punkte man achten muss.

Hidden gems in Symfony

Nicolas Grekas

Symfony is a feature-rich set of components. When used together as a flexible framework, their capabilities don't just add up, they combine! With autowiring, autoconfiguration and autodiscovery, it's never been easier to get up to speed at coding, with Symfony taking care of most of the bootstrapping and wiring.

If you follow closely the "Living on the Edge" posts on symfony.com, or if you read the documentation carefully, you might already know a lot of the gems in Symfony. But not all of them are advertised nor documented (yet).

In this talk, I'd like to present you with some gems that you can find in any Symfony app, just waiting for you to leverage them. I'll also give you a sneak peek at what is coming to Symfony 5.3. The community always finds ways to improve the State of the Art!

Schichtenarchitektur (Multitier Architecture) in Symfony Projekten

Rafal Wesolowski

Stellt dir vor, du musst eine Applikation von Scratch schreiben. Der Kunde will einen Auto-Konfigurator mit Login, Recht, Rollen und Freigabe Prozess haben. Dafür bietet sich zum Beispiel ein Framework wie Symfony an. Symfony bringt viele Funktion von Haus aus mit. Mit der beinhalteten Struktur, kannst du direkt loslegen. Dann kannst du z.B. 6 Klassen in Controller-Folder, 10 Services, x-Repositorien und x-Entity erstellen.
Das Projekt ist fertig, der Kunde ist glücklich, perfekt! Er ist so glücklich, dass er mit dir weiterarbeiten möchte.Er möchte die Applikation auf andere Länder mit neuen Funktionen ausrollen!
Dann stellst du auf einmal fest, je mehr Leute die Applikation nutzen, desto größer wird unsere Datenbank und es kommt zu Engpässen.
Die Lösung ist die Integration von Caching. Und jetzt bekommst du Probleme, weil in dem verwendeten MVC-Symfony-Model alles in einen Haufen gepackt ist und so die Wahrscheinlichkeit, dass du unerwünschte Nebeneffekte bekommst sehr hoch ist.
Plötzlich wird also aus deiner Cooler-Applikation zu einem Albtraumprojekt! Um das zu vermeiden solltest du dir am Start des Projekts eine saubere und skalierbare Struktur ausdenken. Genau dabei hilft einem die Schichtenarchitektur. Diese teilt die Applikation in andere Abschnitte, verglichen mit dem MVC-Prinzip, auf. Zusätzlich solltest du so modular entwickeln, dass jede Komponente ohne größeren Aufwand austauschbar ist.
Denn so bist du später weiterhin richtig flexibel! Ein Problem gibt es jedoch noch. Nachdem du dir jetzt eine coole neue Architektur für dein Projekt ausgedacht hast merkst du – dein Team muss diese ja ebenfalls einhalten..
Doch wie kannst du das sicherstellen, dass deine Kollegen die Schichtenarchitektur richtig einhalten, ohne ihnen permanent auf die Finger zu schauen?
Zum Glück gibt es dafür Tool, z.B. Deptrac. Im weiteren Verlauf werde ich dir auch die Anwendung dieses Tool zeigen.

Schrödinger's SQL - The SQL inside the Doctrine box

Claudio Zizza

Warum sollte sich irgendjemand um SQL Gedanken machen, wenn Entwickler den Code in Abstraktionen wie dem Doctrine ORM verstecken können? Mit Doctrine ist die Datenbank aus den Augen und aus dem Sinn, doch schon da beginnen die Probleme. Welche Auswirkungen hat sie auf ein Symfony Projekt und wie kann man ihrer Herr werden? Dieser Vortrag behandelt das Verhalten von Doctrine und dessen Einfluss auf die Datenbank, warum SQL trotz ORM immer noch sinnvoll ist und welchen Einfluss Entwickler auf die Performance nehmen können.

Getting started with Symfony UX

Titouan Galopin

Symfony UX is an initiative and set of libraries to seamlessly integrate JavaScript tools into your application. From charts to dropzones and croppers, Symfony UX provides plug and play tools to improve the usability of your apps. Let's discover how to use it and the library it relies on: StimulusJS.

What's new in Doctrine 2021?

Benjamin Eberlei

Dieser Vortrag betrachtet Änderungen, neue Features und Verbesserungen im Doctrine-Ökosystem in den letzten 12 Monaten und gibt einen Ausblick auf das, was (wahrscheinlich) im Jahr 2021 kommen wird. Themen sind u.a. DBAL 3, Deprecations, Annotations vs. Attribute, neue Features in aktuellen ORM-Versionen und unsere Roadmap.

Schönere Symfony-Anwendungen mit PHP 8

Alexander M. Turek

Das Release 8.0 war ein großer Schritt für die Programmiersprache PHP. Viele der Neuerungen sind insbesondere im Kontext einer Symfony-Anwendung spannend, wie z.B. Union Types, Constructor Property Promotion und Attributes. Sehen wir uns einmal an, wie wir PHP 8 in unserer Symfony-Anwendung nutzen können und wir unser Upgrade-Pfad aussehen könnte.

Entwickeln eines Event Sourcing Systems mit Symfony

Peter Prochaska

Dieser Talk klärt auf, was ist Event Sourcing und wie wird das mit Symfony-Mitteln umgesetzt. Beispielhaft wird erklärt, wie man eine Pizza per Event System bestellt und welche Abläufe im Hintergrund stattfinden. Von der Bestellung bis zur Bezahlung: Welche Events werden geworfen, welche Subscriber reagieren darauf, wie kann ich eine Pizza Bestellung wiederherstellen?

The New Testing Landscape: Panther, Foundry & More

Ryan Weaver

Symfony comes with a number of tools for testing, like BrowserKit & DomCrawler as well as test classes for booting the kernel, accessing services, and using a bunch of built-in assertions.

But what do you do if you need to test the JavaScript on your page? And what's the best approach for setting up your database? Should you load fixtures? Clear the data before each test? And how can I run my tests in parallel?

In this talk, we'll explore a set of new tools & clear patterns (Arrange, Act, Assert) for test…

Sponsors

Diamond Sponsors

Platinum Sponsors

Gold Sponsors

Silver Sponsors

Bronze Sponsors

Did you miss SymfonyLive Online German Edition 2021?

Join us at an upcoming conference!

SymfonyWorld Online 2022 Winter Edition

Online 8. – 9. Dezember 2022 Talks are in Englisch

SymfonyLive Paris 2023

Paris / Frankreich 23. – 24. März 2023 Talks are in Französisch

SymfonyWorld Online 2023 Summer Edition

Online 15. – 16. Juni 2023 Talks are in Englisch