PHP Architect logo

Want to check out an issue? Sign up to receive a special offer.

PHP Battlesnakes

October 2026

‘BattleSnake: They Said I Cheated—I’d Do It Again’ by Holly Schilling is our first feature article this month. Wait, don’t stop reading yet. Give Holly a chance to explain in the article. A good story will walk you through exactly what led to the cheating charge and how Holly justifies the decisions made.

Practical Machine Learning Examples: Where the Rubber Meets the Road

By Christopher Miller

We’ve covered a lot of ground in this series – from basic linear algebra to the sophisticated mathematics of backpropagation. But here’s the thing about learning machine learning – until you see it working on real problems, it can feel pretty abstract. It’s like learning to drive by studying the owner’s manual – you understand the theory, but you need to get behind the wheel to really get it. by Christopher Miller

PHP Runs in the Strangest Places

By Scott Keck-Warren

I’m a little ashamed to say this, but I still think of PHP as the “P” in LAMP, with it living on a Linux server behind Apache. The reality of PHP in 2026 is that PHP has been pried away from “A” for a few years, and I keep bumping into it in places I would never expect to see it. by Scott Keck-Warren

Programming While Grumpy

By Chris Hartjes

Hello friends! In this column, I want to discuss some strategies that I’ve been using for many years that I believe will lead to better outcomes when working on long-term PHP projects. Most of these ideas are not new, but the lessons I’ve learned from them are based on real-world experience. by Chris Hartjes

From Downtime to Uptime: Building Resilient PHP Apps – Part XI

By Wendell Adriel

In Part X, we hardened the PHP runtime so the process layer fails in a bounded and predictable way. That matters because a healthy runtime is only half of the availability story. Many PHP systems still carry hidden coupling in a quieter place – files. by Wendell Adriel

Beyond JWT: API Authentication with PASETO

By Steve McDougall

JWT is everywhere. It has client libraries in every language, first-class support in most OAuth 2.0 frameworks, and enough documentation that most developers can get a token issuing and validating in an hour. That familiarity is genuinely useful. It is also why JWT’s design problems persist – the ecosystem has grown large enough that replacing it feels impractical, and so the known issues become something you learn to work around rather than eliminate. by Steve McDougall

Key Strength in the Shadow of Quantum Computing

By Eric Mann

Whenever you encrypt something, you’re making a bet. The wager is that the key holds for at least as long as the data matters – for a session cookie, that’s minutes. You’ll win the bet every time. For more sensitive information – a patient record, a sealed court filing, a firmware signing key, or the trade secret at the center of your business – the horizon is ten, twenty, thirty years. by Eric Mann

How Laravel’s Container Actually Resolves Your Classes

By Eric Van Johnson

Every Laravel developer learns the surface-level rule early – type-hint a class in a constructor, and Laravel “just gives it to you.” Most tutorials stop there, which is fine until you hit a case where it doesn’t work the way you expect — an interface that resolves to the wrong implementation, a singleton that isn’t actually shared, or a class that mysteriously fails to construct outside of a controller. Understanding what the container is actually doing removes the mystery. by Eric Van Johnson

Doctrine Migrations

By Oscar Merida

Relying on manual SQL scripts breaks down as your PHP application grows in complexity. I’ve added a database layer recently and have been skating by with manual SQL statements on my local SQLite database. But that only works for a team of one. Let’s fix that and look at integrating `doctrine/migrations` to get version controlled, automated schema updates. I’ll demonstrate how migration classes are generated and the commands you need to easily update your tables. by Oscar Merida

A Blind Guy Gives Directions

By Maxwell Ivey

Hello again, this month, I thought I’d share something that I’ve been thinking about a lot lately. It started during my months of physical therapy for a torn shoulder muscle. I had to take medical transit. So, I spent a lot of time scheduling rides, waiting on drivers, and hoping I would get to and from my appointments safely. by Maxwell Ivey

BattleSnake: They Said I Cheated. I’d Do It Again.

By Holly Schilling

The accusation came with a grin, which is the only way this kind of accusation should ever come. You cheated. by Holly Schilling

Event Sourcing Without the Framework

By Marian Pop

Every application lies to you. Not maliciously, but by design. When you query your database for a customer record, you get a snapshot of their current state. You see their address, their subscription tier, and their account balance. What you do not see is the journey that brought them there. by Marian Pop

Leave a comment

Use the form below to leave a comment:

Our Partners

Collaborating with industry leaders to bring you the best PHP resources and expertise