Hugo Hamon

Hugo Hamon

Hugo Hamon is a PHP and Symfony certified developer. He worked nine years for SensioLabs, the creators of Symfony, as a Web developer, head of training and software architect. He's now a full time freelance PHP & Symfony consultant at his own company KODERO.

Montreal 2025 sessions

Crafting Automated Tests for Your PHP Applications

English training

Automated tests are the guardians of your code. They guarantee that your application code works as it should be. They also enable to reveal bugs or edge cases that were not taken into account during the initial development phase. Writing efficient and clean automated tests is one of the keys to make software more robust, maintainable and long lasting!

In the first half of this workshop, you will lean how to craft different types of automated tests in order to test all layers of a PHP application. We’ll first focus on testing low level PHP classes of a PHP application thanks to unit and integration tests within PHPUnit. Attendees will learn how to validate their base domain layer in isolation, so that they can safely refactor and extending them later. As our knowledge of unit testing grows, we’ll learn some techniques to cover pieces of software that are time sensitive or third party system dependent (database, HTTP network calls, etc.).

The second half of the workshop will teach you how to setup more high level types of tests : acceptance & end-to-end tests. Using Behat & the Gerkin DSL, you’ll learn how to write expressive test scenario that can be writtend & understood by anyone in the team, including non developers. Finally, we’ll dig into end-to-end testing with Panther, a PHP library that enables scripting and a running a complete Web browsing scenario within a real Chrome/Firefox browser. This is the ultimate goal to ensure your Web application acts as expected from the HTTP request to the HTTP response and JavaScript interaction with the end user.

Be prepared to jump on an extensive testing PHP application journey!

Going asynchronous with Symfony Messenger

English session - Intermediate

Sending notifications, synchronizing data with third-party services, or performing time / memory heavy tasks are use cases that lend themselves well for asynchronous programming. Thanks to the Symfony Messenger, you'll not only learn how to dispatch, route, serialize and process async messages ; but also learn how to monitor them, perform logging, retry failing jobs, deal with priority queues and even tests asynchronous messages in a Symfony app.

Montreal 2024 sessions

Montreal 2023 sessions

Montreal 2022 sessions

Montreal 2018 sessions

Vancouver 2017 sessions

Montreal 2017 sessions

Montreal 2016 sessions

Montreal 2015 sessions

Montreal 2014 sessions

Montreal 2013 sessions

Montreal 2012 sessions

Montreal 2011 sessions