At my first in-person post-COVID technical conference, my ticket came with a swag bag holding an orange plush elephant named Archie. It was an ElePHPant, the stuffed version of PHP’s elephant mascot. I was surprised by how much the community coveted a stuffed elephant, but before I left the conference, I had three in different colors (the start of my herd). by Scott Keck-Warren
On October 21, 2026, the PHP project [shipped 8.2.35, 8.3.36, 8.4.27, and 8.5.12](https://phpa.me/2026-11-security-corner-01) to fix two unauthenticated remote code execution flaws. Both are rated CVSS 9.2. A score of 10.0 circulated online beforehand, and it was wrong. by Eric Mann
By this point in the series, we have made the infrastructure more tolerant of failure. We hardened the runtime. We moved durable files out of individual nodes. The next question is uncomfortable precisely because it is so familiar – can the system survive its own releases? by Wendell Adriel
Not every API operation belongs in the request/response cycle. Some tasks are simply too slow – generating a PDF report, running a video transcoding pipeline, hitting a third-party service with unpredictable latency, or processing a CSV upload row by row. When these operations are forced into synchronous endpoints, the problems compound. Connections are held open while work happens. Upstream timeouts fire arbitrarily. A slow downstream service degrades every consumer on your API. And if anything goes wrong partway through, the client has no reliable way to know the state of the operation. by Steve McDougall
If you’ve built more than a handful of JSON APIs in Laravel, you’ve probably hit this problem – your `ArticleResource` needs to sometimes include the author, sometimes include comments, sometimes include admin-only fields, and never trigger an N+1 query storm while doing any of it. by Eric Van Johnson
We’ve seen how Doctrine handles basic CRUD operations, but managing database records requires more. In this third installment focusing on Doctrine, we refine our data tools and presentation. We’ll look at whether we can use Common Table Expressions, how to get maximum-value records using ANSI SQL subqueries and Doctrine QueryBuilder, building an interactive, responsive table using Tabulator, and how to add our own Doctrine Console commands. by Oscar Merida
For the past few years, integrating Artificial Intelligence into PHP applications has largely meant one thing – making HTTP requests to OpenAI, Anthropic, or Google to generate text. We send a prompt string, wait for the inference engine to process it, and we get a string back. This is undeniably useful, but it is entirely passive. The AI is trapped in a box, able only to converse about the data we explicitly spoon-feed it in our prompts. by Matías Javier Magni
A few years ago, I attended PHP UK for the first time. At the end of the conference, there was a panel discussion. The first question put to the panel was – How do we introduce new developers to PHP? by Mike Page
Leave a comment
Use the form below to leave a comment: