What to do when the debugger has a bug? That’s the question I had to answer when my GitHub notifications went haywire because a new version of Xdebug was crashing FrankenPHP and therefore all the projects that use it. Together, we’ll retrace the epic story of this debugging debugger and discover a method that can…
Category: PHP
API Platform for Laravel
API Platform 4 was released today during the API Platform conference. It now officially supports Laravel! Let’s get started: Check out our brand new “getting started” guide for Laravel.
Containerization Tips and Tricks for PHP apps
API Platform was one of the first PHP frameworks to provide native support for Docker, Docker Compose, Kubernetes, and, more recently, Skaffold. The API Platform skeleton also served as the basis for Symfony Docker, the most popular solution for containerizing Symfony projects. These years of developing skeletons compatible with dev environments, continuous integration chains, and…
Front-end application development, Symfony-style(s)
We recently introduced the AssetMapper component and Symfony UX to make the most of the web platform and reduce the amount of JavaScript code to the absolute minimum. This “radically simple” approach is generally the most efficient, and should be the go-to method for most new Symfony applications. However, API-based, JavaScript-heavy applications are still inevitable…
Running Laravel Apps With FrankenPHP (Laracon EU)
Here’s the talk I gave at Laracon EU 2023: And here are the slides:
PHP and Symfony Apps As Standalone Binaries
Distributing PHP applications is quite complicated. For instance, to run a Symfony project in production, a web server, the PHP engine, and the appropriate PHP extensions need to be installed. Their versions and configurations must be compatible with the app. Because PHP is an interpreted language, the application source code must also be available. Composer…
Webperf: Boost Your PHP Apps With 103 Early Hints
Google Chrome, Firefox, Caddy, and Apache now support a new HTTP status code: 103 Early Hints. Since version 6.3, Symfony also supports 103 responses, and FrankenPHP also supports it natively. This new, rather unusual type of response has a single objective: to speed up the loading time of your websites and applications by allowing the…
The PHP Revolution Is Underway: FrankenPHP 1.0 Beta
I’m very proud to announce the immediate availability of FrankenPHP 1.0 beta. FrankenPHP is a brand-new application server for PHP, written in Go and built on top of Caddy, that dramatically simplifies the deployment of PHP apps, and brings new features to PHP such as: FrankenPHP is available as a Docker image (Debian, Alpine, PHP…
6x faster Docker builds for Symfony and API Platform projects
Available translations: French At Les-Tilleuls.coop, we’re constantly striving to reduce the environmental footprint and hosting costs of the projects we work on (eco-design, GreenOps, and FinOps strategies…). We generally focus on optimizing production code and infrastructure, but the CI/CD pipelines used to build and deploy applications can also consume a lot of physical and financial…
Mitigate Attacks on your PHP Supply Chain
Here are the slides I presented at the AFUP Day Lille 2023 and the companion Pull Request on Composer: Abstract When you install a JavaScript library, it usually comes with hundreds of transitive dependencies, i.e. libraries that are installed as a side effect because they are essential to the operation of the library you want…