Version 3 of the popular Doctrine DBAL library has been released at the end of 2020, almost 10 years after the initial release of version 2. In September 2021, Doctrine ORM 2.10 added support for DBAL 3, while still supporting DBAL 2 at the same time. Versions prior to 2.10 aren’t compatible with DBAL 3….
Preventing CORS Preflight Requests Using Content Negotiation
In modern web applications, it’s a common pattern to serve the web API and the frontend app from different subdomains: https://api.example.com: your web API, usually serving JSON documents https://example.com: your web application, usually built in JavaScript, generating HTML documents from the raw JSON data retrieved from the API This was the pattern implemented by API…
Symfony’s New Native Docker Support (Symfony World)
I’m very excited to announce that after 6 years of teamwork, Symfony and API Platform now include an industry-first set of tools designed to automatically create, manage and run the Docker containers needed for your applications. Read my article on the Symfony blog Watch my Symfony World talk Browse my slides deck:
Edge Side APIs
Here is the slide deck I used for my talk “Edge Side APIs” at ForumPHP 2021. I introduced a new architecture for web APIs derived from REST and inspired by Jamstack: ESA.
Installing a LaTeX environment on a Mac
Installing LaTeX on Mac is straightforward. Install Homebrew if not already done, then run: brew install –cask mactex That’s all! If you need a good editor, I recommend the LaTeX Workshop extension for VS Code (brew install –cask visual-studio-code or brew install –cask vscodium). Alternatively, try VimTex for Neovim (brew install neovim).
Introducing Edge Side APIs (#APIPlatformCon Keynote)
Here are the slides I presented during my keynote at the API Platform Conference. I introduced a new API architecture inspired by Jamstack: Edge Side APIs (ESA). My colleague Antoine Bluchet gave another talk giving more details about how API Platform started implementing ESA: The talks have been recorded. They will be published in the…
Webperf: PHP after Server Push
Here are the slide deck from the talk I gave this morning for AFUP Day 2021! And here is the video (in French): Google recently announced that it will remove Server Push support from its flagship browser. Server Push is a technology that is part of the HTTP/2 and HTTP/3 standards. Server Push is designed…
Symfony UX Turbo: Do You Still Need JavaScript?! (SymfonyWorld)
Hotwire Turbo is a tiny library recently introduced by DHH (the creator of Ruby on Rails) allowing to have the speed of Single-Page Apps without having to write any JavaScript! As part of the Symfony UX initiative, I’m very excited to announce the immediate availability of Symfony UX Turbo: the official integration of Turbo in…
Using the “103 Early Hints” Status Code in Go Applications
103 is a new experimental HTTP status code defined in RFC 8297. It’s an informational status that can be sent by a server before the main HTTP response. Used in conjunction with the Link HTTP header and the preload relation, 103 gives the client the opportunity to fetch resources (assets, images, linked API documents…) related…
Schema Generator 3: A Step Towards Redecentralizing the Web!
I just released API Platform Schema Generator version 3! It’s a command-line tool, part of the API Platform framework, that instantly generates a complete PHP data model (classes, enumerations, ORM mapping, validation rules, web API definitions, PHPDoc…) from RDF vocabularies and ontologies. RDF vocabularies are commonly used to define web-scale (Schema.org), industry-wide (The NASA Air…