PHP Architect logo

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

A Card Counter Mindset

July 2026

Summertime and the living is easy…or so they say. July has us fully immersed in the summer season, which is proving to be a hot one for most. Making it the perfect time to find a cool spot in the shade (or air conditioning) and read the July issue. Let’s get started with a preview of what you’ll find in this month’s PHP Architect.

Evaluating Performance – How Do You Know If Your Neural Network Is Actually Smart?

By Christopher Miller

So you’ve built a neural network, trained it with gradient descent, and watched the loss function steadily decrease. Success, right? Well, not so fast. A decreasing loss function is like a student who’s getting better test scores – but what if they’re just memorizing the specific questions instead of actually learning the material? This is where model evaluation comes in, and it’s arguably the most important step in the entire machine learning process. by Christopher Miller

Why Your AI Workflow Needs A Spec

By Scott Keck-Warren

One of the more interesting aspects of being involved with PHP Architect is that I’ll hear about something on the podcast, and then it will become a reality. by Scott Keck-Warren

Grumpy Testing Patterns – It’s a Sieve, Not a Pyramid

By Chris Hartjes

Hello friends. This time around, there is not much code at all as I talk about a Testing Pattern that really changes how I look at my test suites — the realization that one of the “accepted” methods just does not reflect reality. by Chris Hartjes

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

By Wendell Adriel

In Part VII, we focused on correctness under failure – stale reads, uncertain commits, idempotency keys, and the outbox pattern. Once the write path is believable, the next question is – what happens when traffic rises, dependencies wobble, or the database starts feeling every read as a pain? by Wendell Adriel

Testing APIs at Every Layer

By Steve McDougall

Most PHP developers understand that testing matters. The harder conversation is about what you actually test and at which layer. by Steve McDougall

It Wasn’t Your Code – Understanding Supply Chain Failures

By Eric Mann

I ran `composer update` on a side project a few weeks back and watched a few dozen packages move. I manually reviewed maybe three of them. The rest I waved through, because that is what we all do. The lock file said the hashes matched what Packagist served, the tests passed, and I had other work to ship. by Eric Mann

Self Diagnosis

By Edward Barnard

When asking AI to explain its own failure modes (what the industry calls “hallucinations”), the response is not what it seems. AI appears to be reporting what just happened, but in fact, AI is *speculating about* what just happened, based on its static training data. by Edward Barnard

Event Broadcasting

By Oscar Merida

As an application grows, controllers may bloat as we add code to coordinate behavior between multiple objects. In our Spacetraders web client, we’ve established a highly functional core loop – accept user input, call the API, process the response, and update the UI. As we add new features—automations, logging, reminders, and more—our neat controller methods can quickly become tangled, copy-pasted messes. In this article, I’ll show you how to facilitate communication between related classes without putting all your eggs in your controller’s basket. by Oscar Merida

Card Counter Mindset – Thinking Several Moves Ahead in Code and Life

By David Drury

For six years, I made a living doing something that may sound glamorous or stupid, depending on your temperament for risk, scrutiny, and games of chance. by David Drury

Unlocking High Concurrency in PHP 8.3 With Fibers: Building Faster APIs

By Sarah Aburu

Modern web APIs spend much of their time waiting for I/O, such as database queries, HTTP calls, or external services, rather than executing PHP code. PHP 8 introduced Fibers as a low-level concurrency primitive. By PHP 8.3, they are stable enough for production use. Fibers do not make PHP multithreaded, but they do allow multiple I/O-bound operations to make progress without blocking each other. In this article, we will examine how Fibers work, where they make sense, and how to use them to reduce request latency in real-world APIs using clear, practical examples. by Sarah Aburu

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