- All talks are in english.
- You can send feedback and love to speakers on their twitter account
Slides
Video
By Fabien Potencier
@fabpot
@fabpot
- Description
- The Symfony Form component offers many features out of the box. It covers 80% of
use cases, but how do you deal with the 20% left? If you have read the
documentation, you probably know how to use it. But do you know how it works?
To implement your business on top of Symfony Form, you must know how it works under the hood, and how you can extend it. I will illustrate those underlying concepts through a series of standard use cases:
- Make a list of items sortable;
- Hide or disable fields based on user permissions;
- (more, to be discovered during the conference).
This presentation will give you insights into how things work inside the Form component, and how you can hook in it.
By Alexandre Salomé
@alexandresalome
@alexandresalome
- Description
- Symfony has grown a lot since its inception. Between 2.0 and the current release over 25 components were added to Symfony. In our talk we want to take a look at these components, group them into layers and then discuss common principles for components in these layers. At the heart of this discussion are package design principles.
This knowledge will not only help you better understand how Symfony is built and how to use these components standalone (or possibly not), it will also help you design better applications and libraries yourself.
By Christian Flothmann
@xabbuh
@xabbuh
And Denis Brumann
@dbrumann
@dbrumann
- Description
- Dive deep into the deployment of PHP & Symfony applications to the serverless cloud: study available options, discover and test Bref.
By Marie Minasyan
@MarieMinasyan
@MarieMinasyan
- Description
- This talk will cover the changes, new features and improvements across the Doctrine ecosystem over the last 12 month and an outlook over what is (probably) coming in 2021. Topics include DBAL 3, Deprecations, Annotations vs Attributes, New Features in recent ORM versions and our roadmap.
Slides
Video
By Benjamin Eberlei
@beberlei
@beberlei
- Description
- On a large French e-commerce site, we use Varnish as HTTP cache.
We use it for the API as well as for the HTML front ends.
We use ESI, with user-context-hashes allowing us to do authenticated caching. We mix invalidation by tags but also by ttl.
This is a feedback to explain the choices we had to make, how we use it, what it brings us.
We'll also answer a lot of questions that people have about HTTP caching in practice.
By Bastien Jaillot
@bastnic
@bastnic
- Description
- It is quite common for a developer to have to map data. In the long run, this kind of code is boring to write. Why not generate it automatically? This is the promise that AutoMapper tries to solve: generating the code needed to map one data to another (array, class, etc.)
Through this talk, we will first see the Symfony Serializer and how it works.
Then, we will discover how AutoMapper takes advantage of the Serializer ecosystem while revolutionizing the Normalizer concept by adding code generation, thus drastically boosting performance!
By Baptiste Leduc
@Korbeil
@Korbeil_
- Description
- Hotwire Turbo is a tiny library recently introduced by DHH (the creator of Ruby On Rails) allowing to have the speed of Single-Page Apps without having to write any JavaScript!
As part of the Symfony UX initiative, I created an official integration between Turbo and Symfony. With Symfony Turbo, you can get rid of JavaScript and enjoy using Twig again!
During this talk, we'll discover how the library works, how to leverage it to enhance your Twig templates, how to add real-time features to your websites using the Mercure integration of Symfony Turbo and how to test your Turbo apps with Symfony Panther!
By Kévin Dunglas
@dunglas
@dunglas
- Description
- The Notifier Component is marked stable with the Symfony 5.3 release. A good time to have a closer look at how the Symfony Notifier works and what you can do with it.
Slides
Video
By Jan Schädlich
@jschaedl
@jschaedl
- Description
- You may think you're in the IT business but think again. You are actually in the learning business. If you don't learn, you fall behind. Let's go on a journey through 20+ years of PHP experience and look at some key learnings and why it is important to learn.
Slides
Video
By Stefan Koopmanschap
@skoop
@skoop
- Description
- The digital activity accounts for 4% of the total carbon emissions worldwide - roughly as much as planes. Who is responsible for that ? For the most part, developers like you and me. It means it's our job to track, analyze and reduce the carbon emissions of the software we develop. Except it's a hard problem and they aren't many tools available for that.
In this talk, I'll go over the why, the when and the how we should work on building more sustainable software. It's not one of these talks about climate change that put you in a horrible mood for the next month - rather the type of talk with tips that you can start using right away to improve your practice, and make the world a better place.
Slides
Video
By François Zaninotto
@fzaninotto
@francoisz
- Description
- Everyday, we build our applications on the shoulder of the Symfony Framework. I wonder how long our applications can live. What if Symfony is transformed into totally different, brand-new form?
We already experienced painful migration from symfony1 to Symfony2+, from doctrine1 to Doctrine2+, and Doctrine3 is coming.
In this talk, I will describe how we can extend the lifetime of our applications, through loose coupling between our code and Symfony (or any third-party dependency really.)
Slides
Video
By Hiromi Hishida
@77web
@77web
- Description
- After several years of experience building Software As A Service products, I would like to share with you the crucial and less crucial tips on how to build a technically effective platform while focusing on your business. We will talk about how to build great subscription mechanisms, how to leverage EasyAdmin, why and how you should rely on other platforms (Stripe, Sentry, SymfonyCloud) and finally how you can plan your software architecture for growth.
Slides
Video
By Titouan Galopin
@tgalopin
@titouangalopin
- Description
- Entities lifecycle is usually something more than create and delete. Models with which we are working on day to day basis change their state under some business circumstances. State machine patterns can be a powerful allay when solving this kind of problem. How does it look like? What are the pros and cons of state machine usage? What are the things that we should be beware of? I will answer these questions during my talk, together with practical differences between the most popular implementation (including Symfony Workflow of course ;)).
Slides
Video
By Łukasz Chruściel
@lchrusciel
@lukaszchrusciel
- Description
- In this talk, we'll learn what is Cypress, an E2E framework which is growing (companies like Paypal, Disney, Github, Slack and so on uses it everyday).
The first objective will be to compare it against competitors like Behat (especially when used with Mink/Selenium), a well known tool.
Regarding his rapid growth, Cypress can face issues and bad habits, we'll see how to manage these traps and learn from old tools, we'll also see the main drawbacks and advantages and how to use it in a daily basis.
In the end, we'll see how to integrate it into a Symfony application and ease his usage, maintenance and write future-proof tests.
Slides
Video
By Guillaume Loulier
@Guikingone
@Guikingone
- Description
- Symfony 5.3 will be released with a new Runtime component. It allows your application to run decoupled from the global state. That means your application will be portable to many different systems without making any changes.
This is a massive step forward not only for Symfony but for all PHP applications. It is especially beneficial for users that want to run ReactPHP, Bref, Swoole, etc.
Slides
Video
By Tobias Nyholm
@Nyholm
@TobiasNyholm
- Description
- In Symfony 5.3, the password hashing logic has been extracted out from the security-core package to a first-class package named password-hasher. This component provides a clean API to manage passwords securely, and it can be used in any PHP project. Let's see how this component works and how it can ease managing passwords in your applications.
By Robin Chalas
@chalasr
@chalas_r
- Description
- The Symfony UID component has been released one year ago as a simple OOP layer on top of the "uuid" extension and polyfill. Since then, it has matured from experimental to stable and has increased the range of use cases it can fulfill, while keeping a clean and simple design.
But what are "UIDs" in the first place? Unique IDentifiers serve many purposes! During this talk, we will explore the component itself. We will also discuss the various types of UIDs and when each of them should be preferably used.
Last but not least, we will make this an opportunity to discuss why the Symfony project decided to create a new component on the topic, while alternatives exist.
Slides
Video
By Nicolas Grekas
@nicolas-grekas
@nicolasgrekas
- Description
- Traditional web apps are back! The Symfony UX initiative - with tools like
Stimulus & Turbo - makes it possible to built your HTML using Twig templates
but *with* a "single-page experience" and professionally-written JavaScript.
Could we go further? Could we organize Twig templates into reusable units? And could we expose those units so we can load them via AJAX calls or HTTP-cache them?
And, if we did that... would it be possible to write Twig templates that automatically update on the frontend when the user interacts with them? All with zero JavaScript?
Let's go on a journey!