Schedule

All times below are displayed in your local timezone

16. April 2021

Track Blackfire.io Track SensioLabs

09:45

10:00

🎉 Opening / Welcome session 👋

10:00

10:40

Boring is the new hype Fabien Potencier
 

10:40

11:10

Break ☕ đŸ„

11:10

11:45

Symfony Notifier Demystified Jan SchÀdlich

11:50

12:25

Hidden gems in Symfony Nicolas Grekas

12:25

13:30

Lunch đŸœ

13:30

14:05

14:10

14:45

What's new in Doctrine 2021? Benjamin Eberlei

14:45

15:15

Break ☕ đŸ„

15:15

15:50

15:55

16:35

 

16:35

16:45

Closing session 👋

Boring is the new hype

Fabien Potencier

Track Blackfire.io

Freitag, April 16, 2021 at 10:00 AM – 10:40 AM

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

Track SensioLabs

Freitag, April 16, 2021 at 11:10 AM – 11:45 AM

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

Track Blackfire.io

Freitag, April 16, 2021 at 11:10 AM – 11:45 AM

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

Track Blackfire.io

Freitag, April 16, 2021 at 11:50 AM – 12:25 PM

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

Track SensioLabs

Freitag, April 16, 2021 at 11:50 AM – 12:25 PM

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!

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

Claudio Zizza

Track Blackfire.io

Freitag, April 16, 2021 at 13:30 PM – 14:05 PM

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.

Schichtenarchitektur (Multitier Architecture) in Symfony Projekten

Rafal Wesolowski

Track SensioLabs

Freitag, April 16, 2021 at 13:30 PM – 14:05 PM

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.

What's new in Doctrine 2021?

Benjamin Eberlei

Track Blackfire.io

Freitag, April 16, 2021 at 14:10 PM – 14:45 PM

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.

Getting started with Symfony UX

Titouan Galopin

Track SensioLabs

Freitag, April 16, 2021 at 14:10 PM – 14:45 PM

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.

Entwickeln eines Event Sourcing Systems mit Symfony

Peter Prochaska

Track Blackfire.io

Freitag, April 16, 2021 at 15:15 PM – 15:50 PM

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?

Schönere Symfony-Anwendungen mit PHP 8

Alexander M. Turek

Track SensioLabs

Freitag, April 16, 2021 at 15:15 PM – 15:50 PM

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.

The New Testing Landscape: Panther, Foundry & More

Ryan Weaver

Track SensioLabs

Freitag, April 16, 2021 at 15:55 PM – 16:35 PM

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