Skip to content

Schedule

June 4, 2026

Symfony

09:00

09:10

🎉 Opening / Welcome session 👋

09:10

09:55

10:00

10:35

10:35

11:00

Break ☕

11:00

11:35

11:40

12:20

12:20

13:45

Lunch 🍽

13:45

14:20

14:25

15:00

15:05

15:40

15:40

16:00

Break ☕

16:00

16:35

16:35

17:10

17:10

17:15

Closing session 👋

Building TUIs in PHP: The Symfony Terminal Component

Avatar of Fabien Potencier Fabien Potencier

With coding agents moving from the IDE to the terminal, TUIs are having a renaissance. This session introduces the new Symfony Terminal Component, a TUI toolkit built from the ground up in PHP. We'll explore its architecture, the primitives it exposes, and how it makes building rich, interactive terminal interfaces possible in Symfony applications. Don't miss the pull request opening on stage!

Delivered in English
Room:
Symfony

Thursday, June 4, 2026 at 09:10 AM – 09:55 AM

CLI-Driven Development: An Ode to Symfony Console

Avatar of Thomas Durand Thomas Durand

Developing a Symfony application is fun. But manual tests can become tedious. So can debugging.
And it might also be too early in the design process to start writing tests.
But we can go in between: write new console commands.

With the latest Symfony Console updates, writing interactive commands has never been easier.
When used to test your code and your API design, they become a perfect debugging tool — for you, and for the developers who will later use your code.

Delivered in English
Room:
Symfony

Thursday, June 4, 2026 at 10:00 AM – 10:35 AM

The Hidden Cost of `return new Response()`

Avatar of Mathias Arlaud Mathias Arlaud

Most Symfony applications buffer everything: database rows, serialized objects, entire JSON payloads, and only then send a response.
It works... until scale hits. Memory spikes, slow time-to-first-byte, crashing exports.

What if the real problem isn't performance, but buffering?

In this talk, we'll redesign the data flow of a Symfony app: from StreamedResponse and incremental JSON encoding to iterable data sources and Server-Sent Events.

You'll see how to emit data progressively, power live updates and long-running exports, and keep memory usage flat using tools Symfony already provides.

Stop building responses. Start streaming them!

Delivered in English
Room:
Symfony

Thursday, June 4, 2026 at 11:00 AM – 11:35 AM

Reconfiguring Symfony​ in real time​ with sidekicks

Avatar of Nicolas Grekas Nicolas Grekas

PHP was long designed as a strictly stateless language: one request, one process, and then everything starts over.

FrankenPHP fundamentally changes this model by allowing long-running PHP workers to run directly within a Symfony application. Not to turn Symfony into a Node-style server, but to give it capabilities it has never had before.

In this talk, I introduce a new pattern: application sidekicks. These are specialized PHP workers, outside the HTTP lifecycle, that listen to their environment and reconfigure the application in real time; without polling, without approximate TTLs, and without redeployments.

Through concrete use cases (Redis Sentinel discovery, dynamic feature flags, etc.), we’ll see how to evolve an existing Symfony application while staying true to its principles.

The goal: to show that PHP can listen, react, and adapt in real time, without sacrificing its simplicity nor its traditional robustness.

Delivered in English
Room:
Symfony

Thursday, June 4, 2026 at 11:40 AM – 12:20 PM

Symfony 8: The Hexagonal Track

Avatar of Robin Chalas Robin Chalas

Structuring an application around its domain rather than its framework is an old idea. Making it practical has sometimes felt like swimming against the current.

Thanks to the way Symfony 8 leverages modern PHP, this drastically changes. Recent evolutions in both the language and the framework align naturally with hexagonal thinking and tactical DDD patterns — no workarounds, no fighting the tools.

Join me as I wear both my Core Team member and DDD practitioner hats to give a pragmatic look at putting your business logic first, building applications that scale with your domain's complexity and remain maintainable as they grow, with Symfony's blessing.

Delivered in English
Room:
Symfony

Thursday, June 4, 2026 at 13:45 PM – 14:20 PM

CQRS in Symfony: yes, but calm down

Avatar of Oskar Barcz Oskar Barcz

CQRS is often associated with complex, over-engineered systems. But in real-life Symfony apps, it can be a pragmatic tool to structure features, simplify code and separate concerns - when used right.

In this talk, you’ll see:
- how to approach CQRS, how to start implementing it without a hassle,
- when and where CQRS brings real value in Symfony projects,
- how to structure commands, handlers, queries and DTOs in an easy, maintainable way,
- practical integration with Symfony Messenger and validation
- what to avoid: CQRS anti-patterns that create friction, not clarity

I will prove that CQRS can be done right and fast, but also show you how you can expand your existing CQRS setup with new tools and libraries!

Delivered in English
Room:
Symfony

Thursday, June 4, 2026 at 14:25 PM – 15:00 PM

Using Symfony for successful Platform Development

Avatar of Sean MacKay Sean MacKay

Discussing the benefits of Symfony as a framework for building successful software platforms. For for platform developers and the end user implementations. Pimcore as a platform migrated to Symfony in 2017. This enabled rapid improvement in the platform itself, and made end user installation and customization much simpler.

Key benefits have included:
- Doctrine
- Event and Event Listener architecture that allows easy extension without modifying platform code.
- A flexible configuration system that allows overriding source files when necessary.
- Robust messenger queue solutions.
- Bundle plattern.

This improves not just the platform code itself, but makes it much safer to customize in a way that allows future updates to be installed without having to rewrite customizations or break existing extensions.

Delivered in English
Room:
Symfony

Thursday, June 4, 2026 at 15:05 PM – 15:40 PM

Empower creativity with ExpressionLanguage

Avatar of Florian Merle Florian Merle

The ExpressionLanguage component has been around for quite some time, and its usefulness is no longer to be proven. Many popular projects like OroCRM, Sylius, or Symfony itself use it.

This component can be seen as a PHP sandbox and is mainly used to set up an application by allowing for advanced configuration. It can also be used as an engine to implement business rules. Indeed, by using the component in this way, it is possible to let end users write configurations in an understandable, secure, and dynamic way.

This last aspect is really interesting and is what I want to explain.

During this talk, we will re-discover the ExpressionLanguage component by getting an overview of the conventional way it is used. Then, through a concrete example, we will see the real potential of this component. In an e-commerce context, we will create a system that allows administrators to write business rules. These rules will dynamically apply promotions.

At the end of the talk, we will know how to use the ExpressionLanguage component to let end users build their own business rules.

Delivered in English
Room:
Symfony

Thursday, June 4, 2026 at 16:00 PM – 16:35 PM

Migrating Legacy Symfony in Production

Avatar of Arnaud Oltra Arnaud Oltra

When inheriting an unmaintained legacy Symfony application, the real question is not “how to migrate”, but rather “where to start without breaking everything”.

In this talk, I share an honest retrospective of a Symfony migration carried out in production, on an aging application with limited documentation, few tests, and dependencies on components that are now obsolete.

Through this journey, I offer a reading of the battlefield: risk areas, false good ideas, and decisions that seem obvious on paper… but turn out to be dangerous once confronted with real-world constraints.

In particular, we will cover:
- How to step back from an unmaintained legacy codebase and identify the real problems
- The false good ideas we encountered during Symfony legacy migrations
- Common mistakes observed in the field, and how to avoid or mitigate them
- Small levers that make a big difference (order of actions, scope, tools, trade-offs)
- Key lessons learned from this migration: what we would do again, and what we would clearly avoid

This talk is aimed at developers working with inherited Symfony applications, often business-critical, who must move forward with limited visibility and very little room for error.

The goal is not to promote a perfect or universal method, but to share a real, lived experience, and provide attendees with concrete reference points, clarity, and practical tips they can apply to their own migrations.

Delivered in English
Room:
Symfony

Thursday, June 4, 2026 at 16:35 PM – 17:10 PM