Schedule

Schedule is not complete yet

We're still selecting talks and speakers for SymfonyCon Brussels 2023. The following list only shows the already confirmed talks. Come back in a few days to see the full schedule.

Domain-Driven Design: The Basics

Avatar of Stefan Koopmanschap Stefan Koopmanschap

So you’ve heard people talk about Domain-Driven Design. But what is it? What is the blue book? And what is the red book? How can it be applied to your project? During this session you’ll learn more about the basics of Domain-Driven Design.

Delivered in English

Date/time to be announced

PHPUnit 10 for Symfony Developers

Avatar of Sebastian Bergmann Sebastian Bergmann

Version 10 is probably the biggest update so far for PHPUnit. Almost all internals of PHP's most widely used testing framework and test runner have undergone long overdue changes to improve the developer experience of those who work on PHPUnit. This presentation highlights the improvements that were made for those that write and run tests with PHPUnit every day and shows why some parts of Symfony's PHPUnit Bridge might be removed soon.

Join Sebastian Bergmann, creator and maintainer of PHPUnit, to learn everything you need to know about PHPUnit 10. You will experience new features, big and small, in action and see how they can support you to effectively and efficiently test your software.

Delivered in English

Date/time to be announced

It's a (testing) trap!

Avatar of Ramona Schwering Ramona Schwering

“It’s a trap” - a call or feeling we all might be familiar with, not only when it comes to Star Wars. It signalizes a sudden moment of noticing imminent danger. This situation is an excellent allegory for an unpleasant realization in testing. Imagine having the best intentions regarding testing but still ending up with tests failing to deliver any value. Tests who are feeling like a pain to deal with?

When writing tests, there are lots of pitfalls on the way. In sum, they can lead to lousy maintainability, slow execution time, and - in the worst-case - tests you cannot trust. But it doesn’t have to be that way. In this session, I will talk about developers’ common mistakes (including mine) in tests, at least from my experience. And, of course, how to avoid them using best practices. Testing doesn’t need to be painful, after all.

Delivered in English

Date/time to be announced

Task scheduling can be boring, but not with Symfony scheduler.

Avatar of Allison Guilhem Allison Guilhem

In the dynamic landscape of modern web application development, achieving accurate and timely task execution is pivotal for improving user experiences and optimizing backend processes. By enabling applications to run processes at optimal intervals, task scheduling reduces the need for manual intervention and promotes overall operational efficiency.

We will explore the capabilities of the Symfony Scheduler through a concrete use case that focuses on creating and maintaining a recurring task that is constrained by a predetermined schedule until a particular event happens.
In this talk, we'll see how the Symfony Scheduler would have effortlessly enhanced the implementation of iterative automation in our case using some useful concepts from Symfony Messenger.
We'll also take the opportunity to look at how Symfony Scheduler would have benefited our application, and what issues it might have raised.

Ready to be amazed by this captivating component? Let’s dive in.

Delivered in English

Date/time to be announced

Static Analysis Crash Course for Framework Developers

Avatar of Ondřej Mirtes Ondřej Mirtes

In recent years, static analysis tools like PHPStan have become super popular in the PHP world. These tools do something cool: they can spot all sorts of mistakes in your code before you even run it.

Usually, people try these tools on their own code. But if you're the person behind a framework or library that others use, guess what? They're probably using these tools too. So, the code people write using your stuff also needs to pass these checks.

This creates an extra thing you need to worry about. You've got to make sure your framework or library works nicely with these tools. And if you're smart about it, you can even help guide other developers to use your code the right way.

In my talk I'll take you through three important steps:

1) Laying the Foundation: I'll start by covering the essentials. This involves establishing a basic standard, ensuring that users achieve a green build when working with your framework.

2) Empowering with Strong Types: The second part focuses on the potential of strong types. We'll explore how they can effectively steer users towards correct usage.

3) Going Advanced with Custom Rules: Lastly, I'll teach you how to do something advanced but useful. You can create special checks for your framework using PHPStan. I'll give you examples from big frameworks like Symfony and Doctrine so you can see how it works.

By the end you'll have the knowledge you need to make sure your framework works great, and people love using it.

Delivered in English

Date/time to be announced

Symfony Apps as Standalone Binaries

Avatar of Kévin Dunglas Kévin Dunglas

Distributing Symfony applications is quite complicated. To run a Symfony project in production, a web server, a PHP executor, and - usually - a database server need to be installed. Their versions and configurations must be compatible and the app. Because PHP is an interpreted language, the application source code must also be available. Composer dependencies as well... and things are even more difficult if some of them are private.

Of course, these days, containers can help. But what if we could make it even simpler: a single distributable binary that's self-executing? Download a single file, give it the execution bit, and type "./my-app run": boom! Your Symfony application is up and running, served over HTTP/3 with a valid TLS certificate!

Thanks to the latest new features of FrankenPHP, the dream is now a reality! Let's discover how to ship Symfony applications as standalone binaries, web server, PHP and database system included!

Delivered in English

Date/time to be announced

How to use GPT with your Symfony app

Avatar of Christopher Hertel Christopher Hertel

With the release of ChatGPT, OpenAI has generated a lot of buzz around GPT and AI in general. For software architects and developers, this is not only a game changer when it comes to learning or debugging, but also introduces a new tool to embed into your system's architecture. In this talk, we will take a closer look at the basic concepts of GPT, the relevant models, and how you can effectively utilize them in your Symfony application.

Delivered in English

Date/time to be announced

How much database abstraction do I need?

Avatar of Alexander M. Turek Alexander M. Turek

SQL databases are an important part of many web applications. But what's the best way to interact with such a database? Do I use hand-crafted SQL statements everywhere in order to always remain in control? Or do I use an ORM, so I don't need to repeat myself too often and to remain compatible to multiple SQL databases?

We will take a deep dive into the Doctrine libraries ORM and DBAL as well as native PHP extensions and compare them with our use cases in mind.

Delivered in English

Date/time to be announced

Get a grip on your project's supply chain

Avatar of Nils Adermann Nils Adermann

Everyone has heard of supply chains at this point, but what exactly does that mean for a Symfony project? Learn more about software supply chains, how tools like Composer and services like CI or Private Packagist come into it and which role PHP dependencies play. This talk will present concrete steps you can take to identify your dependencies and give advice on measures you can put into place to better manage and protect how your application is assembled.

Delivered in English

Date/time to be announced

Hands-on with LiveComponents, AssetMapper, Turbo & Stimulus

Avatar of Ryan Weaver Ryan Weaver

Symfony UX is celebrating its 3 (!) year anniversary! And a lot has changed. Gone are the days of needing a big build system... or a ton of complex custom JavaScript to get that single-page-app experience. LAST stack - LiveComponents, AssetMapper, Stimulus and Turbo - offers an alternative that makes writing frontend code fun & productive again.

In this talk, we'll walk through the experience of building a modern web app with LAST stack. We'll see the latest changes to AssetMapper in 6.4 and see a bunch of real-world examples: building dynamic forms with zero JavaScript, modals, dynamic tables and more. Most importantly: we'll do this fast and *love* the experience.

Delivered in English

Date/time to be announced