Workshops
Refactoring Towards Clean Architecture
In this workshop, I’ll share practical knowledge we’ve developed at Printify over the past three years, where we transformed a large legacy Symfony project into a clean architecture and built two more greenfield applications following the same principles.
Thanks to Clean Architecture, our Symfony-based services became highly maintainable, adaptable to change, and remarkably stable, even during high-load periods like the Holiday Season.
But what is Clean Architecture?
It's a set of architectural patterns and principles designed to help you build software that is:
- maintainable in the long term,
- resilient to both technological and business change,
- scalable and cost-efficient,
- and structured in a way that enables productive team collaboration.
This workshop will be fully hands-on and Symfony-specific. We’ll work on a Symfony-based RealWorld Example Conduit app that has been intentionally written in a “framework way”. Together, we will:
- audit the application and identify key architectural pain points,
- design a Clean Architecture foundation tailored to Symfony's ecosystem,
- refactor the application incrementally and safely, applying principles such as Dependency Inversion and boundary separation.
By the end of the session, you'll have a clear roadmap for applying Clean Architecture principles to existing Symfony projects, regardless of how messy the starting point is.
Prerequisites:
- Basic understanding of SOLID principles (especially Dependency Inversion and Liskov Substitution),
- Experience with Symfony's DependencyInjection component,
- Docker is installed and a local PHP 8.3 environment.
Join me for a practical dive into architectural transformation and elevate the quality of your Symfony applications!
Starts at 9:00 AM
Symfony AI - Discover The New Ecosystem
With Symfony AI a new ecosystem for AI-integrated or agentic applications in PHP got launched and with this workshop we want to dive into the components, understand concepts and build different features from simple use-cases to agentic workflows. No prior knowledge other than Symfony and Docker is needed.
Starts at 9:00 AM
Creating Custom PHPStan and Rector Rules
Take your PHP development to the next level by mastering customising two of the PHP ecosystem’s most powerful tools: PHPStan and Rector. Custom PHPStan rules let you enforce project-specific coding standards, catch domain-specific bugs, and even emulate features from other programming languages. Meanwhile, custom Rector rules help you automate and accelerate refactoring, keeping your codebase clean and maintainable.
Both tools follow a very similar process to create custom rules.
In this workshop, we’ll begin by walking through the creation of custom PHPStan rules, exploring how to tailor static analysis to your project's unique needs. Then, we’ll apply those same principles to crafting custom Rector rules, enabling automated refactoring tailored to your codebase.
By the end of the session, you’ll have the knowledge and practical skills to customise and extend these essential tools, empowering your team to write better code faster and with less effort.
Starts at 9:30 AM
Symfony 8: the fast track
This training is from the book "Symfony: The Fast Track" by Fabien Potencier. In 1 day, it will teach you how to build a Symfony application from A to Z using new practices and new components. For those who are new to Symfony, this training is an opportunity to discover capabilities of Symfony. For more experienced devs, it's an opportunity to know about and to discover the latest features and best practices.
We will build an application with all the infrastructure of modern apps: database, application and HTTP cache server, message bus for background processing, etc. We will start from the basics with the installation of a skeleton application, the creation of a data model and a "backoffice", then we will add screens for users, a security system to partition rights. We will enrich the business rules to send notifications, send emails, manage a publication workflow, etc. Finally, we will optimize the application for production through HTTP and application caches, through asset management (JS/CSS/images) and secrets management. To secure each step, we will write tests to guarantee non-regressions.
On the menu: Flex, DependencyInjection, Mailer, Workflow, Messenger, HttpClient, String, etc.
Starts at 9:00 AM
Mastering OOP & Design Patterns
Object Oriented Programming (OOP) goes beyond the design of classes and interfaces. It includes a wide variety of concepts such as objects, entities, value objects, services, design models, SOLID principles, calisthenics, coupling, etc. Mastering OOP often requires several years of experience.
This workshop will help you to better understand all these concepts in order to write more maintainable, robust and testable object-oriented code. You will also discover techniques to reduce the complexity of your code and make your classes more specific and therefore simpler. You will also learn how to recognize and exploit the power of design models (factory, adapter, composite, decorator, mediator, strategy, etc.).
Starts at 9:00 AM