February 21-23, 2024
Montreal, Canada

Montreal PHP Conference

PHP Working with APIs? Great! Did you have to solve surprisingly similar issues in different projects? Did project complexity force you to break the established guidelines for structure, filtering, validation, or pagination? How often have your endpoints, versioning, and evolution stood the test of time? Let's talk about the real examples of solutions I implemented in various APIs. Smile at changing requirements thinking - I've got it!
PHP Rector is a CLI tool that assists with upgrading and refactoring of PHP projects. Do you seek to save months of mindless work and frustration on your next PHP upgrade? After a brief introduction to Rector using practical examples, I will show you what it can and can't do for you. I will also give real-world tips on PHP upgrades and how you can best leverage Rector and other automated tools.
PHP Symfony UX brings a richer user experience to your projects. Thanks to core tools like Turbo and Stimulus, it enables seamlessly integrating frontend dynamics into Symfony's backend-driven approach, often requiring minimal to no JS. Cherry-on-the-cake, we'll see how this can be made to work without any nodejs tooling or bundlers! This means you could accelerate your development cycles without compromising on UI interactions.
PHP Exception management is a nuanced art. In this session, we will delve into the realm of error handling in PHP, examining best practices and strategies to craft a resilient and coherent exception system. Exception handling is pivotal in software development, where errors can disrupt your application's flow. This encompasses custom and native exceptions, as well as addressing unnecessary, forgotten or over-protective try/catch blocks.
PHP Dealing with time can be challenging: The reliance on the system's clock - a barely controlled global state - hampers accurate testing - or makes it impossible. Instead of leaving these aspects untested, in this talk, we'll explore alternative approaches. Including the intriguing concept of "time travel", to finally have reliable tests! Join us to conquer the challenges of time in software development and ensure your code stands the test of time.
PHP Quick response times are crucial. Time consuming tasks triggered in web requests should be executed asynchronously, if at all possible. In this talk I will give a short overview of what message queues are and then show a case study how we split up an application into smaller services and how we use message queues to coordinate the services.
PHP The Symfony Security component has recently been totally reworked in order to make it simpler to use and extend. In this talk we’ll make a deep dive into the component and dissect all the many concepts of its architecture such as authentication, passport, badges, authorizations, voters, etc. You’ll also discover how to create custom authenticators, make password less authentication with magic links and login throttling mechanisms.
PHP In this talk, we'll delve into the world of Symfony 7, the latest iteration of the high-performance PHP framework used for modern web application development. Through a comprehensive overview, we will unravel the new features, improvements, and the upgrade path, focusing on how Symfony 7 and its community empower developers to build scalable, high-performance, and modular applications.
PHP Static analysis is for life, not just for christmas. While finding bugs before execution a staple, static analysis provide tools to go even further. It scans the code to offer suggestions, training unususpecting developers into using modern code. It provides inventories, linking remote parts of the code by their value and process, and bringing more consistency across the code base. Finally, it can document the code base, and keep it real-time.
PHP You know how HTTP caching works but need more? In this talk we look into ways to cache personalized content. We will look at Edge Side Includes (ESI) to tailor caching rules of fragments, and at the user context concept to differentiate cache entries by permission groups instead of by individual users. Examples will use the PHP library FOSHttpCache in combination with either Varnish or the Symfony HttpCache reverse proxy.
PHP Regular expressions allow for fast and accurate pattern matching and manipulation, but it's easy to view them as dense, dark magic, but they don't have to be!

In this talk for all skill levels and platforms, we'll examine some regexp fundamentals, but also the most important tools for beautiful, reusable regexps, including comments, meaningful whitespace, pattern naming, live debugging, and testing. Your regexps can be beautiful and readable!
PHP In this presentation, we take a look at writing PHP extensions. Using step-by-step examples, we'll take a function written in PHP and convert it into a loadable extension using C. We'll then test both versions and compare the results. After seeing the size and scope of the benefits that can be realized, you'll want to try it out for yourself. You'll also understand why we start with simple things, and not try to rewrite all of Symfony in C.
PHP I will show how to build a simple chat client with real live coding in vanilla Javascript and ReactPHP as server and explain the basic concepts behind the process, how to communicate through Websockets, and the possibilities to deploy it on a Webserver.

PHP Les monolithes sont mauvais et les microservices sont le meilleur moyen d’atteindre un combo parfait de maintenabilité et d’évolutivité infinie, n'est-ce pas? Aucune décision architecturale n'est parfaite mais une conception basée sur la hype (ou les buzzwords) est probablement la pire option. Et pour votre app existante ou votre nouveau projet révolutionnaire? Découper un monolithe n'est peut-être pas la solution, et si on l'apprivoisait plutôt?
PHP No one wants their app to be slow! Yet, we all may end up with not optimal solutions that may slow down responses of API Platform-based applications. During this speech, together, we will discover typical pitfalls and how to spot them and address them.

This presentation will focus on the application-level things we may change to improve our response times.
PHP This talk wants to provide you with a boilerplate knowledge on encryption and how to encrypt and decrypt data in PHP with public and private keys. It will be demonstrated with live code for attendees to follow.
PHP Not everything happening in your app has to be processed immediately. Messages and notifications can wait, statistics can be calculated in the background, even that very important cronjob you run every night for all your clients doesn’t need to be synchronous. Whether your app is big or small, cloud-based or on premises, there are plenty of ways to make it seem faster and scale better without breaking the bank or re-architecturing it.
PHP Have you ever worked with eCommerce? Have you never heard about Sylius? If your answer to both questions is true, this presentation is for you! The first version of it was released in 2017 and many things have changed since then. I will present you a new version of Sylius, a prominent member of the Symfony ecosystem and top-notch eCommerce framework for your custom eCommerce needs.
PHP Back in 2021 we embarked in journey that many dream of, but few actually are able to attain. This is, the migration of a legacy system into a modern stack. In this presentation I would like to introduce the thought process and the different tools and milestones we have gone through to achieve our goal. How we were able to put together a mass migration tool compatible with strict SLAs and two ISO certifications, while still serving product.
PHP Do you know how to secure your APIs? Tokens alone are far from enough. Automated direct access to the application business logic allows whole new classes of attack vectors and vulnerabilities - data extraction, impersonation, rogue access, and more. You can deploy countermeasures like elevated access requirements, multi-factor auth, response limits, etc. Let's explore both sides of that coin to let you properly design security for your APIs.
PHP During this presentation, we are going to look at the new features that were introduced in PHP 8.3, and some in earlier versions. Join me to have a look at how the type system is strengthened with Typed Class Constants, Readonly
Classes, Arbitrary Static Variable Initialisers, Overloaded Method Markers, and other new smaller features and clean-ups.

At the end you will have a good understanding about all the new and exciting PHP 8.3 features.
PHP Domain-driven design proponents champion aggregate roots and entity-bound logic. While suitable for complex models, the web realm differs: we often load a partial model, modify, and save. Attend this session for insights on crafting a domain model tailored to web needs within a hexagonal architecture framework.

Explore all 171 sessions

Montreal 2024 sponsored by