Cache HTTP pour les API REST


Conference: API Platform Con 2023, Lille
Title: Cache HTTP pour les API REST
Links: slides

L'utilisation d'un reverse proxy de mise en cache permet de “scaler” vos API tout en améliorant leur temps de réponse. La clé d'une mise en cache réussie est de faire en sorte que votre API REST utilise correctement HTTP et emploie les bonnes instructions de cache.

Durant ce talk, je vous expliquerai comment gérer l'invalidation du cache et comment faire du cache tagging. Pour aller encore plus loin dans le traitement des listes de résultats, je vous montrerai également comment utiliser les Edge Side Includes (ESI).

php caching conference rest

HTTP Caching


Locations: 26.6. Guild42 Bern, 27.6. Web Zurich, 28.6. Webnsday St.Gallen
Title: HTTP Caching
Links: slides

Joint user group tour in Switzerland together with Thijs Feryn. I did a talk on HTTP Caching, Thijs a talk on Varnish Cache.

Whether with CDN, a reverse proxy or to avoid problems with browser caching, the basis for correct caching are the HTTP caching specifications. In the first part of the talk, David Buchmann shows us how to properly use the caching headers to achieve the desired result.

php caching

Beyond REST maturity levels


Conference: Confoo Montreal 2023
Title: Beyond REST maturity levels
Links: slides

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 conference rest

Deploying PHP Applications with zero downtime


Conference: Confoo Montreal 2023
Title: Deploying PHP applications with zero downtime
Links: slides

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 conference server

Decoupling an Application with Symfony Messenger


Conference: SymfonyCon Disneyland Paris 2022
Title: Decoupling an Application with Symfony Messenger
Links: slides

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 conference architecture message queues libraries web client

One of the most esoteric bugs i ever found in a PHP application


I spent so much time tracking down this bug that I want to tell you the story of what happened.

A while ago, I wanted to see if the Doctrine PHPCR-ODM tests work fine with PHP 8.1. PHPCR-ODM supports two different storage layers, Doctrine DBAL and Jackrabbit. With PHP 8.1 and DBAL storage, some tests failed, but those same tests succeeeded with the Jackrabbit storage. That lead me to check if something might be off with the storage layer, but the extensive test suites of both storage layers is fine with PHP 8.1.

Read more

php debugging

PSR-18: Abstracting HTTP clients in PHP


Conference: PHPDay Italy 2022, Verona
Title: PSR-18: Abstracting HTTP clients in PHP
Links: slides

PSR-18 defines how to send PSR-7 requests without binding your code to a specific client implementation. Major HTTP clients like Guzzle and the Symfony HTTP client support PSR-18. This is particularly interesting for reusable libraries that need to send HTTP requests but don't care about specific client implementations.

TLDR: Summary by Matthias Pigulla (@mpdude_de)

php conference architecture libraries web client

Symfony routing under the hood


Conference: Confoo Montreal 2022, Virtual
Title: Symfony routing under the hood
Links: slides

Routing is this thing about mapping URLs to controllers, right? But in fact, there is a lot going on. Understanding the routing process will enable you to write more flexible code and keep logic out of your controllers. In this talk, we will see how the Symfony routing actually works and then look at extension points like ParamConverters, custom request listeners and have a look at extending the route matching process.

php conference routing

Using Symfony components standalone in any project


Conference: Confoo Montreal 2022, Virtual
Title: Using Symfony components standalone in any project
Links: slides

Symfony is not only a full stack framework, but also a collection of components that you can use stand alone in your projects to solve specific tasks. I will explain the ideas of the components and basic concepts, then look more specifically at the console component.

php conference architecture libraries symfony

Debugging PHP Applications at Web Summer Camp 2021


Conference: Web Summer Camp Croatia 2021, Sibenik
Title: Fixing PHP Applications

Sooner or later, any application will run into errors. Some of them will be your fault, or that of a teammate. Others stem from third party libraries you are using. Even if your code would be perfect, other systems you rely on will sometimes fail. In this workshop, we look at how you can prevent errors, mitigate the impact of errors and track what is going on in your application. We do a bunch of hands-on exercises with various debugging strategies that help to locate the cause for an error quickly.

Read more

php architecture https web server