Going crazy with caching: Caching pages of logged in users

21.2.2024

Conference: Confoo 2024, Montreal, Canada
Title: Going crazy with caching: Caching pages of logged in users
Links: slides

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. The FOSHttpCache library in combination with either Varnish or the Symfony HttpCache reverse proxy are a big help to leverage the user context concept.

caching http performance varnish conference


Langfristige Applikationen mit Symfony

8.2.2024

Conference: Symfony User Group Basel, Switzerland
Title: Langfristige Applikationen mit Symfony

I did this talk in german, together with my colleague Martin Janser. We explained the success factors how we continuously improved a large Symfony application over 10 years.

At the meetup, I also jumped in to present the talk from another colleague Emanuele Panzeri who unfortunately had to cancel his attendance due to sickness: "Firefighting a Symfony & Elasticsearch app with Blackfire".

symfony architecture conference testing german


Cache HTTP pour les API REST

21.9.2023

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

26.6.2023

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 conference


Beyond REST maturity levels

24.2.2023

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

23.2.2023

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

18.11.2022

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

16.9.2022

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

20.5.2022

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

24.2.2022

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