Skip to content

SymfonyCon Vienna 2024

December 5 – 6, 2024 • Vienna (Austria)

Watch the replay if you attended this conference or Buy a ticket to access the videos

Keynote (Fabien Potencier)

Keynote

Crafting Hybrid PHP-Go CLIs with Symfony Console (Antonis Kalipetis)

Discover how to bridge the gap between legacy PHP code and the performance of Go in hybrid CLI development. Using the Symfony Console library, you'll see how we blend these two languages in the Upsun CLI, embedding the Legacy Platform.sh PHP CLI within Go for seamless functionality. This approach not only enhances performance but also preserves backward compatibility, saving time while migrating from the older PHP-based CLI to the new, faster Go implementation. You'll learn how we maintain intuitive command routing, make it invisible to users, and tackle authentication across both platforms. This talk is perfect for those looking to modernize their tools without starting from scratch.

From Translations to Multi Dimension Entities (Alexander Schranz)

Content management is more than just adding a text editor to your project. Initially, you may only need a basic text editor for your Entity. However, as your project grows, you might require support for multiple languages, and when drafting or versioning come into play, things can get tricky. In this talk, I will provide a quick introduction to different ways of data modeling and the libraries available to meet these needs. I'll also share a brief history of Sulu's content storage and explain why we decided to redesign the entire content storage system for a better future. You'll learn how to evolve from a simple Doctrine entity to a translatable entity, and finally, to a multi-dimensional entity that supports multiple languages, drafting, versioning, and more. These concepts are reusable even if you're not using our beloved CMS.

HTTP compression in Symfony apps (Kévin Dunglas)

Compressing HTTP responses can significantly improve the performance of your Symfony applications. But you still need to find your way through the jungle of standards and formats. In this presentation, we'll discover how HTTP compression works, the different formats supported by modern web browsers (deflate, gzip, Brotli, and the brand new Zstandard), and how to use them correctly with Symfony. We'll also look at which formats to compress, which not to, when to use dynamic compression, and when (and how) to pre-compress responses that can be compressed for even better performance.

Machine Learning Inference in PHP by example: leverage ONNX and Transformers on Symfony (Guillaume MOIGNEU)

Whether you're an AI enthusiast or a developer curious about machine learning, this session will equip you with the knowledge to implement ML inference in your Symfony applications. This talk will show by example how to implement ONNX (Open Neural Network Exchange) and Transformer models to bring advanced AI capabilities to your Symfony projects.

Symfony Form - Practical use cases (Alexandre Salomé)

You've mastered the fundamentals of Symfony form, now you want more? In this talk, we'll go beyond the documentation tutorials and explore real-world use cases to showcase the power and flexibility of Symfony's form component. Come prepared to level up your Symfony form skills with practical examples and actionable takeaways.

Symfony UX: 2024 Highlights & What’s Next (Simon André)

Symfony UX is a set of components for creating rich front-end interfaces with Symfony. This December, it celebrates its 4th anniversary. (Happy UX-Birthday!) What a year 2024 has been for Symfony UX! We’ll review all that happened: new components (Icon, Map), added features to TwigComponent and LiveComponent, and discuss the philosophy and directions taken by the Symfony UX team. Then we’ll explore the future of Symfony UX with a sneak peek at 2025, including one or two surprises!

Building a Fraud Prevention component using Symfony (Moritz Schuh)

Online fraud and abuse poses a serious risk to all digital businesses and having preventive measure in place has become indispensable. In this talk we will be looking at how to build a Symfony application tasked with detecting and preventing malicious activities such as credit card fraud, automated registrations and abuse of free resources. Our application will collect data from different sources and provide a RESTFul API to other services to guide access to resources, trigger verification requests and block suspicious activities.

A brand-new way to serialize data in Symfony (Mathias Arlaud)

Serialization plays an essential role in any information system, and particularly in the context of a web application, as it is one of the pivots of the HTTP request/response cycle. That's why Symfony's Serializer component is one of the most critical for our applications. Needs evolve, and since its creation, this old component has found itself confronted with new problems and has in some ways reached its own limits. That's why it's now necessary to completely rethink the way we serialize data in the Symfony ecosystem. So let's take a look at two Symfony component drafts: the JsonEncoder and the ObjectMapper, and how they interact to provide a brand-new way of serializing data.

Flexibility in the Face of Uncertainty (Wachter Johannes)

In this forward-thinking talk, I'll take you on a journey through the integration of AI in Symfony projects. Drawing from our real-world experiences, I'll demonstrate how to build adaptable AI systems that can withstand the ever-shifting landscape of AI technologies and regulations. You'll learn our strategies for creating a provider-agnostic AI architecture, ensuring your Symfony applications remain flexible amidst changing requirements and GDPR considerations. Join me to discover how to future-proof your projects and avoid vendor lock-in while harnessing the power of AI in your Symfony ecosystem.

Refactor your code - refactor yourself (Peter Dietrich)

Looking at old legacy code, you usually know "a better way to do it" by now. But did you ever look at "the code in your mind"? Let's go through a helpful mindset for refactoring projects and apply some principles of refactoring to yourself. This talk will give you a better understanding of how you and your brain evolved from index.php to a complete fully grown application - and what parts of your brain still run legacy code.

Flawless collaboration between front and back developers (Augustin Delaporte, Florent HUCK)

This talk will demonstrate a streamlined workflow for two developers collaborating on a project through a live coding session. We will build a frontend using Next.js and an API backend using Symfony. We aim to create a visually appealing and functional decoupled application in only 30 minutes. During the presentation, we will discuss the tools and techniques we use to facilitate efficient teamwork, including real-time code review, infrastructure as code, version control, and preview environments. Attendees will leave with a solid understanding of streamlining their development workflows and improving collaboration with their colleagues.

Greener code with Symfony (Michelle Sanver)

As software engineers it is sometimes too easy to forget the impact that our code has on the environment. We build for changeability, speed and hopefully quality, but we forget about sustainability. The time to act is now. It is time for us to take responsibility and to write more sustainable tech. In this talk I will talk about things we can do to write more energy efficient code. I will also talk about hosting your code more sustainably. And last but not least… I will share the software architecture needed to build greener applications using Symfony Messenger.

Who did that? Auditing data changes at scale (Sebastian Plagemann)

As your application evolves from a side project into a serious business, you will likely encounter situations where you, your support team, or even your customers question why certain configurations changed, why information is incorrect, or why data seemingly vanished "on its own." Understanding and effectively managing these issues is crucial to maintaining the integrity and reliability of your application. This talk will explore various strategies for auditing data changes in Symfony applications. We will discuss where to begin and what factors to consider as the volume of data increases.

An Unholy Bond: Harmonizing Dev and Marketing (Celeste VAN DER WATT)

Connecting the broken dots between the dev team and the marketing team to create an unholy synergy. Giving a simple guide to help marketing and development teams work better and more effectively as a team to create better products, messaging, and user experiences. Highlight collaboration practices, tools and real-world experiences to ensure both teams are aligned and achieve success.

Cutting-Edge Symfony Pipelines with Dagger (Paul Dragoonis)

I truly believe Dagger is the next evolution of CI/CD implementation. Myself, as a subject matter expert in CI/CD, I spent years building the perfect system to mitigate challenges we face at a tech level and business level. Now along comes Dagger, created by Solomon, the founder of Docker, and it makes so many challenges disappear, by design, and opens up so many new possibilities along the way. In this talk I'll be your guide in a deep dive into Dagger-land, demonstrating how to strategically start integrating this into your existing projects and start benefiting from the awesomeness.

Symfony Mapper component (Antoine Bluchet)

Mapping is something that you see in many frameworks over the web in every programming languages. Doctrine, for example, has a quite complex mapper to transform the relational database representation to your well-known entity. After covering the history behind years of discussion and research by the Symfony community, we'll study the needs for such a component in Symfony. We'll analyse how different it is from the Symfony Serializer, and what are the solutions popular frameworks on the Web offer. At least, we'll showcase the new Mapper component and its application from API design to day to day use cases.

Break Things Fast: Accelerated QA and Testing with Upsun (Greg Qualls)

In the fast-paced world of development, the ability to test and iterate quickly is paramount. This talk explores how Upsun empowers developers to "break things fast" by providing full-stack preview environments that can be spun up on demand, mirroring production settings without the risks associated with traditional cloning methods. Learn how to leverage these transient environments for rapid QA, experimentation, profiling, load testing, and debugging. Upsun is a cloud application platform that empowers developers to build, deploy, and manage applications with greater flexibility and efficiency. It offers advanced resource and container management, allowing teams to dynamically allocate computing resources and customize container configurations to meet the specific needs of their applications.

Demystifying Dependency Injection in Symfony (Dave Liddament)

The Dependency Injection Component is a key part of all Symfony applications. It helps developers write decoupled and maintainable code. In this beginner-level talk, we will explore the following: - The principles of Dependency Injection - Setting up and configuring the Symfony service container - Using Attributes for service configuration By the end of this session, you'll have a solid understanding of how to implement DI effectively, ensuring your Symfony applications are scalable, maintainable, and easy to test.

Can Postgres cover your NoSQL needs? (David Buchmann)

Postgres is famous for its support for SQL data. However, Postgres also has powerful capabilities to work with JSON. I will show how to leverage the various JSON functions of modern Postgres to work with your less structured data. I will also show how to use some of that functionality from within Doctrine.

Symfony Extensibility: Shopware's Lessons (Sebastian Seggewiß)

This talk shows you highly extendable systems inspired by real-world experience at Shopware using Symfony. While starting a project with Symfony is bliss, making it extendable and future-proof from an architectural standpoint becomes challenging. In this talk, you will learn about the basics of plugin systems for third-party code and more advanced strategies, such as event-driven architecture. It will give you a starting point for making your own project future-proof and extendable.

Composer Behind the Scenes (Nils Adermann)

Ever wondered what happens under the hood when you run a Composer update or why Composer 2 got so much faster? Learn about some of its inner workings, some lesser known parts and why they may be useful to you, as well as upcoming features and future plans.

42 best practices for Symfony, a decade later (Tugdual Saunier)

We are in March 2013. Symfony 2.2 has just been released, PHP 5.5 is around the corner and I give my first public talk during a SymfonyLive: “42 best practices for Symfony” (in French). 10+ years later a lot of things changed for Symfony, for PHP but also regarding development in general. Let’s take a moment to look back at those best practices and see which one are still relevant, obsolete or now completely wrong. This would be a nice opportunity to reflect on the evolutions our ecosystem experienced over the last decade.

Carry out the best audit for your client (Marie Minasyan)

When you're faced with auditing an application or a set of applications, it's easy to get lost and forget the big picture. Let's discuss which tools are best suitable for every part of the audit, which aspects of the stack should be audited and how to proceed. Join me in finding out which traps to avoid and how to best carry out your next audit.

Designing for Change: Extensibility points in practice (Adam Wójs)

Extensibility points are the cornerstone of reusable software components, empowering developers to adapt and extend functionality. But how do you design these points effectively? This sessions is practical guide for introducing extensibility into your codebase using Symfony components.

Platforms & Frameworks Eat Culture for Breakfast (Nigel)

As tech leaders we like to think we’re responsible for driving organisational and cultural change, but in most cases, we’re just catching up to the possibilities created by new kinds of software, and re-forming our engineering organisations to take advantage of them. Organisational dynamics are critical, but success at enabling fast flow is ultimately dependent upon how well your tech stack enables it. It’s technology that drives progress. In this talk Nigel will take a tour through some history of the DevOps movement, findings from a decade of State of DevOps Reports, his experience driving change at large and small companies, discuss some relevant inflection points in software and how they influence organisational dynamics, argue that the dominance of “culture” topics divorced from technological progress fails to advance our industry, and demonstrate how platform and framework adoption drives the best kind of cultural changes.

The missing Gotenberg Bundle. Components, Assemble! (Adrien Roches, Hubert Lenoir)

Since wkhtmltopdf was deprecated, it is difficult to find an easy to use / setup library to generate PDF's. Amongst the existing solutions, we chose to focus solely on Gotenberg. The existing SDK did not match our needs as it provides only static classes, so we decided to give a try and create ourselves a brand new Bundle with the DX possible for Symfony Developpers & PHPStorm users. From the fast HttpClient to the forgotten Webhook, let's see how existing components can help us to make PDF generation fast and easy to use. To do so we had to ask ourselves a few questions which we will cover together ! How do we expose a friendly, yet semantic configuration ? How to ensure great auto-completion for ease of use ? What needs to be done to have a proper Profiler ? How to keep memory efficiency by leveraging the HttpClient ? How to make the asynchrone generation easy ? Come and discover how generating PDF's is now as easy as using twig !

Strict PHP (Alexander M. Turek)

Its loose type system and implicit type casts make PHP a perfect programming language for beginners. However, if we rely on those features heavily, we will eventually end up with a codebase that is hard to control and maintain. In this session, Alexander will open up his toolbox and show how a stricter way of programming PHP applications helps him to not lose pace when applying changes to PHP applications.

Bulletproofing for Black Friday (Thomas di Luccio)

The holiday season, especially Black Friday, is a goldmine for e-commerce apps—but only if they can handle the traffic. When the surge hits, unprepared applications buckle under pressure, leading to frustrated users and crashed servers. Been there, done that... In this talk, I’ll share some e-commerce horror stories from the trenches and show you how to avoid becoming one. We’ll dive into a proven roadmap to reliability using production cloning, traffic generation, and real-time observability. With these strategies (plus a dash of your magic), you’ll have the perfect recipe to ensure your app withstands the holiday rush—and you can relax, knowing your system won’t let you down

GraphQL, REST or RPC? Making the choice! (Rob Allen)

When you've been tasked with creating an HTTP API, the fundamental decision you need to make is which architecture to choose. Should your API be RESTful? What about GraphQL? or RPC? In this session, I'll explain the choices and how each works. We'll then look at their strengths and weaknesses in order to help guide your decision. By the end of this talk, you'll be well-placed to choose the right API architecture for your project.

Crafting a Microservice That Fits Your Needs (Haylee Millar)

Microservices offer substantial benefits in terms of scalability and flexibility. However, these advantages come with challenges, including increased complexity and the potential for service fragmentation. In this talk, we’ll delve into a real-life case study demonstrating how adopting a microservice was the ideal solution for expanding functionality within an existing system. Through this example, we will explore the decision-making process, the implementation strategy, and the ultimate impact on system performance and flexibility.

How to migrate from Cron to Symfony Scheduler (Viktor Pikaev)

In our project, we had a couple of hundred scheduled jobs. Recently, we've successfully migrated the project from Cron to Symfony Scheduler. It was a long way and I would like to share our experience: - How to do it smoothly? - What advantages and disadvantages can we get from migration from Cron to Scheduler? - What problems face we face during the migration?

Symfony Notifier : Return of the Mailman (Raphaël Geffroy)

Let's delve into the intricacies of Symfony Notifier component: you'll learn all about its inner workings, from channels to transports and configuration. We'll take advantage of this journey to develop a new feature of the component: sending postal mails.

Crafting Custom PHPStan Rules for Symfony Apps (Ondřej Mirtes)

Static analysis tools like PHPStan have become essential for PHP developers, and Symfony projects can greatly benefit from custom rules tailored to their specific needs. In this talk, I will guide Symfony developers through the process of writing custom PHPStan rules to enforce project-specific standards and catch domain-specific bugs, and freeing up valuable time by automating repetitive code review tasks.

The Role of Empathy in Technical Writing (Kemi Elizabeth Ojogbede)

It’s easy to assume that our users are experts when writing documentation. But technical writing without diagrams, code examples, videos, screenshots and more can ostracise a large chunk of users who are simply searching for help when using your product. When writing technical documentation, empathy allows us to imagine ourselves as the reader: a junior developer who just started on the job, a sales manager who needs more information for a client deck, a member of the customer success team helping a client on a video call. When we’re able to understand that our docs form the foundation of knowledge for a wide range of users, we’re able to write in a manner that positively impacts all. We may be writing about logical concepts, but our approach can definitely benefit from a bit of heart. This talk will break down the vital role empathy plays in the process of writing technical documentation for users from all business backgrounds.

Component Thinking with Symfony (Matheo Daninos)

Communication is key but challenging for developers, especially when working with people using different programming languages. Front-end developers extensively use Component Architecture, as it is implemented in all major JavaScript frameworks. Let’s explore what Component Architecture is and how to implement it in a real Symfony application. This approach will enable your team to work efficiently on the same codebase, fostering better communication and collaboration by speaking the same technical language.

Green IT, Accessibility, GDPR: 360 Vision of Sustainability (Céline DEIS, Vincent Maucorps)

Join us for an insightful session on more sustainable and ethical tech practices. This conference will cover the essentials of Green IT, showing you how to minimize environmental impact through optimized development processes. You’ll also learn about the importance of accessibility, ensuring that your web applications are inclusive and meet accessibility standards. Additionally, the session will delve into data privacy, providing practical advice on managing data protection in your projects. Gain valuable knowledge and tools to integrate sustainability into your Symfony applications and contribute to a more responsible tech ecosystem.

Modern Approaches to Web Security: Stateless CSRF Protection Explained (Nicolas Grekas)

In today’s evolving threat landscape, robust web security practices are paramount to safeguarding applications and user data. This talk delves into modern approaches to web security, with a spotlight on stateless CSRF (Cross-Site Request Forgery) protection. Drawing from recent advancements in Symfony, we’ll explore how to secure web applications without relying on traditional session storage.

Revolutionize Searchandising with Gally! (Romain Ruaud)

Creating an unforgettable user experience in searchandising is a challenge for both developers and business professionals. Enter Gally, our open-source searchandising solution, designed to meet the ecosystem's technical and functional needs with excellence. Join us for an engaging talk where we unveil our journey in crafting Gally. Discover how Gally harnesses the power of Symfony and API Platform to offer seamless extensibility for developers while boosting ease of use and revenue for businesses.

From Pickles to Pie: Sweeten Your PHP Extension Installs (Andreas Braun)

What started out as a sweet PEAR is now a sour PECL, and after many years of dealing with brined cucumbers it’s time to dish out some sweet new tools. Join us for a trip down memory lane as we take a look at the acquired taste of PHP extensions and their challenges from writing and publishing them to finally handling the installation procedure you are all too familiar with. The talk will give you an insight into an effort by the PHP foundation to bake a new PHP Installer for Extensions and how it will solve some of the challenges of dealing with PHP extensions.

Running Symfony in a Multi-Process Container (Anne-Julia Seitz)

The deployment scenario for PHP looks a little different than for other languages like Go or Ruby that have embedded webservers. The classic stack of NGINX/Apache + php-fpm doesn't perfectly fit in the container world. Some solution providers, like DigitalOcean or certain Azure products, only allow for single containers to be deployed. In this talk, we'll explore ways other people have solved this, like FrankenPHP, Framework-X , and others. For production deployments, there is k8s, swarm, compose, and running everything in one multiprocess container. These single containers could be orchestrated with systemd, supervisord, or Runit. We'll talk about the benefits and downsides of these solutions, compare them with the choice we made for our last project, s6-overlay, show off the s6-cli project I developed for this purpose and talk about recipes for running database migrations, cronjobs and a few more.

Code Less, Create More: Unleashing AI Secret Weapons for Lazy(?) Developers! (Thibault Milan)

Join Thibault Milan as he explores the transformative power of AI in web development. Discover how tools like GitHub Copilot, Tabnine, Perplexity, and Azure OpenAI are revolutionizing his workflow, enabling faster ideation and seamless entry into new tech areas. Thibault will share insights on integrating AI to improve coding practices, overcome technical limitations, and venture into uncharted territory. This talk will inspire every developer to view AI as a complement to their skills, not a competitor, preparing them for a future where AI tools are indispensable partners in innovation.

Resurrecting the Dead (Juliette Reinders Folmer)

Have you ever considered what would happen when a popular open source package is abandoned? Now, what about when that package is one of your essential dependencies? This scenario is not some abstract scenario for a far away future. Projects get abandoned every day and your dependency might be next... But you can help! Come & listen to some tales of an accidental maintainer and learn about what you can do to help try and prevent these situations from getting out of hand.

Symfony Authentication: What's next? (Robin Chalas)

The Security component has changed a lot in the past few years. From Authentication Listeners to Guard and finally the Authenticator Manager system, Symfony now has the most robust infrastructure ever to support most if not all modern, industry-standard Security protocols. The community started building on these new foundations by introducing an AccessTokenAuthenticator and kept improving it since then, notably through adding more token handlers for well-known authentication protocols. That's pretty cool already, but what should we expect next? How far will we take it? In this talk, I'm going to put my Security maintainer hat on to answer these questions and share some insights about what's going on in this critical part of our beloved framework.

Core team Q&A ()

Core team Q&A

Sponsors

Diamond Sponsors

Platinum Sponsors

Gold Sponsors

Silver Sponsors

Bronze Sponsors

Social Event Sponsors

Lanyard Sponsor

Free t-shirt Sponsor

Community Sponsors

Did you miss SymfonyCon Vienna 2024?

Join us at an upcoming conference!

SymfonyOnline January 2025

Online

January 16 – 17, 2025

Talks are in English

SymfonyLive Paris 2025

Paris / France

March 27 – 28, 2025

Talks are in French

SymfonyLive Berlin 2025

Berlin / Germany

April 3 – 4, 2025

Talks are in English, German

SymfonyOnline June 2025

Online

June 12 – 13, 2025

Talks are in English

SymfonyCon Amsterdam 2025

Amsterdam / Netherlands

November 27 – 28, 2025

Talks are in English