February 22-24, 2023
Montreal, Canada

PHP Conference

PHP We love heated discussions about what is RESTful and laugh at SOAP and other ancient RPC protocols while glorifying GraphQL... Forget the buzzwords and let's explore the true meaning of Application Programming Interfaces, from mere variables and functions, through network connections, to connecting large software systems. Thinking in terms of APIs can improve the way we approach software design on so many levels!
PHP Your script is constantly waiting. For the database, the e-mail server, the HTTP server of any service, a file from the disk or even for the RAM. And with it the customers wait.
I want to show how with an asynchronous architecture, RabbitMQ and ReactPHP the waiting time is significantly shortened and that sometimes you do not have to wait.
PHP OpenSwoole is a PHP extension that allows to build high-performance, async multi-tasking web services with PHP. It offers a very lightweight Coroutine API to that allows to create thousands coroutines within one Linux process.

It offers a range of multi-threaded I/O modules (HTTP Server, WebSockets, TaskWorkers, Process Pools) out of the box and support for popular PHP clients like PDO and CURL.






PHP In the modern application development process, testing is not only an addition. A great example of a proper testing suite revolution is Behat system from the open-source eCommerce project Sylius, which has been entirely rebuilt some time ago.
I will present the bigges problems which we had in previous UI tests and the conclusions we’ve deduced from them. I will also show the way, how we’ve rewritten the test system and what we learned from it.
PHP Insights from building a real life, high-load REST API
Implementing a REST API is not only about designing correct resource URLs. I will talk about the software and system engineering part it takes to build a data API. I will show concrete examples from a project where we gather data from dozens of different services and systems and build a real-time capable data API. The main technology stack is Symfony, Elasticsearch and Varnish.
PHP What to test and how to test? These two questions are still a challenge after a long time of successful implementation of a properly tested big project. After many years of being a part of one, I come up with the conclusion: that what needs to be covered with tests are business requirements.
I will present how to approach testing different user interfaces (Twig-based UI and API Platform-based API), while still focusing on the business value
PHP In software development, change is pretty much the only constant factor. In fact, embracing change is one of the twelve principles behind the Agile Manifesto. However, changing event sourced applications can be very challenging.

In this talk, we’ll explore how to deal with projection updates, event updates and versioning, and existing privacy legislation (such as the GDPR).
PHP The process of replacing your code with a new version can be tricky. In this talk, I will present strategies to deploy your code without interrupting the application, including how to handle database schema changes without breaking running code.
PHP Developing domain specific web applications often rhymes with domain entities having a inner state that moves from one to another when some event or action occurs. One way to constraint, validate and ensure the consistency of an object state within its lifecycle is to setup a state machine. In this talk, you’ll learn how to use the Symfony Workflow component to build a complete and full featured state machine for your PHP domain objects.
PHP Les bases de données savent gérer des colonnes JSON depuis des années déjà, et
ces colonnes permettent d'accélérer le développement en simplifiant le code, les
migrations, et la maintenance.

À travers cette présentation, nous allons voir comment étendre Doctrine pour
avoir le meilleur des deux mondes : des colonnes en JSON, et des objets PHP
fortement typés.
PHP In this talk I explain how to use Xdebug to get more productive writing PHP code, focussing on the improvements in Xdebug 3.1 and 3.2, to make the debugging experience better and easier to set-up.

Beyond that, this session also goes through a few complicated scenarios that are harder to debug, and shows solutions to these conundrums.
PHP I am a PHP core contributor and you can be too! You think you need to create a RFC for this or write and maintain a PHP extension or even write C code? Fear no more!
In this talk you will learn how you can become a PHP core contributor and give something back to the community by writing tests for PHP core without writing a single line of C code.
PHP With the recent Sylius release v1.11, we've introduced a brand new feature - catalog promotions. As this feature may require processing a significant amount of data(the whole product catalog), we had to decide on async processing by default. But it does not mean that we can waste resources and not optimize the processing algorithm! We had to improve it and to do that we've been using Blackfire.
PHP In the pre-container era, the most common way of running PHP applications was with Nginx + PHP-FPM, with containers this is harder as you need two processes: Nginx and PHP-FPM.

S6 Overlay can help to manage multi-process applications in a container - it takes the burden of security aspects, signal handling, configuration and log management off your shoulders & make your code more readable!
PHP PHP propulse une grande partie du web mondial depuis 20 ans. Il est même le principal langage de beaucoup d'entreprises de la French Tech. Nous allons nous intéresser à sa dualité : capable de créer facilement une page web dynamique mais aussi construire une application complexe avec des enjeux de performances et de fiabilités. Je vous propose un tour d'horizon du langage, de son évolution, de ses principaux frameworks et de son écosystème.
PHP Localization and Internationalization are two core concepts to create sites and applications for international users. But the underlying technical challenges and concepts are worth taking a closer look. Like those different locale-strings. Or the differences between language, countries and dialects. And how do they influence the way dates or numbers are formatted? Let's unravel those mysteries to build sites that can truly be international.
PHP In this presentation we'll have a look at the new features added in PHP 8.1 and 8.2.

We'll have a look at how the type system is strengthened with Enumerations and "never", Fibers, a new closure syntax, the First Class Callable Syntax, intersection and disjunctive normal form types, readonly classes, and other smaller features.

At the end you will have a good understanding about all the exciting new features that are new in PHP 8.1 and 8.2.
PHP … you might have asked the wrong question. In this session we will take a look at time and its oddities. And determine whether the all-time favourite "Use UTC" actually is a good option in each and every case. And if that should not be the case, what other options we have at hands to handle time in our code and in databases.

Explore all 152 sessions