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…
Tag: PHP
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:
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…
Symfony ImportMaps: Manage Your JavaScript Dependencies Without Node
View the recording of this talk (in French) View the Pull Request Yarn, NPM, pnpm, Babel, SWC, Webpack, TurboPack, Rollup, Parcel… Is it really necessary to introduce so much complexity to create a beautiful and interactive website? The Symfony UX initiative greatly simplified how to build frontend applications with Symfony by going back to the…
FrankenPHP: The Modern Php App Server, written in Go
Today I released FrankenPHP during the ForumPHP conference. FrankenPHP is a new app server for PHP apps (built on top of Caddy) and a library to embed the PHP interpreter in Go web servers. Key features: Learn more in this slide deck, on the website and on GitHub! SymfonyCon version: Recording of the talk (in…
Securely Access Private Git Repositories and Composer Packages in Docker Builds
When working on enterprise projects, it’s common to have to download private dependencies that require authentication to be installed (usually, internal or paid packages). In modern setups, you’ll most likely use Docker to package your application (or service) and all its dependencies into a standalone image. Typically, building the Docker image is automated through a…