Excellent PHP writing, hand-picked.
No buzzwords. No ads. No nonsense. Curated by Stefan Priebsch and Sebastian Bergmann of thePHP.cc as a free service to the PHP community.

View all issues →

Issue #7

Conversations worth continuing

14 April 2026

"Some articles do more than inform: they sharpen judgment, spark debate, and remain useful long after publication. This issue is about exactly those pieces: one that prompted follow-up discussion, one classic that still frames today's debate about async, and one deeply practical guide to getting more out of PHP in production."
— Stefan & Sebastian

stitcher.io

Dependency hygiene, one week later

It is unusual for us to feature the same article twice. This one earned it because it was updated, sharpening the author's original point. It now provides a more nuanced explanation around the ext/sodium polyfill, sparked by discussions on social media.

Picked by Sebastian Bergmann and Stefan Priebsch – "We are glad to see this article growing into a broader community discussion. We like to think that PHP Reads played some role in moving this conversation forward."

journal.stuffwithstuff.com

A classic on async that still explains today's trade-offs

“What Color is Your Function?” is more than a famous metaphor. The article shows how asynchronous code shapes API design, composition, control flow, and error handling all at once. Even though the post dates back to 2015, its core insight remains highly relevant to today's discussion about async in PHP.

Picked by Stefan Priebsch – "This is still one of the clearest explanations of why async is not just a language feature, but a design constraint."

tideways.com

OPcache tuning that pays off in production

Benjamin Eberlei explains how to unlock one of PHP's most effective performance levers without touching application code or redesigning the architecture: OPcache configuration. The result is a piece that is deeply technical, highly practical, and immediately useful.

Picked by Sebastian Bergmann – "Benjamin consistently delivers practical performance guidance. This one is a strong example that is valuable well beyond the usual checklist advice."

Issue #6

Debugging, Dependencies, and Discipline

7 April 2026

"This week, we look at innovation in tooling, the value of keeping projects lean, and show some gratitude for the infrastructure the ecosystem depends on."
— Stefan & Sebastian

ddless.com

Building step debugging without an extension

This article tells the story behind DDLess, a promising new debugging tool for PHP. What makes it especially interesting is the technical direction: instead of relying on engine-level integration, it instruments userland code at runtime. That opens up a different path for step debugging that is less dependent on PHP's internals.

Picked by Stefan Priebsch – "I like this piece because it explains the architectural journey, not just the end result. It is a good example of how alternative technical approaches can lead to new solutions."

seld.be

10 years ago: Composer goes gold

Jordi Boggiano’s post is a reminder of a milestone that shaped the modern PHP ecosystem: Composer 1.0 was announced on April 5, 2016, after roughly five years of development. Since then, Jordi and Nils Adermann have carried an enormous share of the work behind the most important tool in the PHP ecosystem.

Picked by Sebastian Bergmann – "One of PHP's real advantages is that the community converged on a single package manager. We owe Jordi and Nils a great deal of thanks for their outstanding work."

stitcher.io

Dependency hygiene: A case for fewer dependencies

Package managers are indispensable, but they also make it very easy to introduce dependencies a project does not actually need. This article highlights a neat composer.json technique to stop upstream dependencies from pulling in unnecessary polyfills.

Picked by Sebastian Bergmann – "What I like about this is that it treats unnecessary dependencies as a design problem, not just a tooling detail."

Issue #5

Seeing PHP more clearly

31 March 2026

"This week’s picks all reward a closer look: at codebases, at language design, and at security assumptions we too easily take for granted."
— Stefan & Sebastian

phpstan.org

Understanding the bigger picture of your code

This article by the creator of PHPStan shows how you can gain useful insight into your codebase, such as understanding dependencies, spotting architectural patterns, and generating data that supports documentation or decision-making.

Picked by Sebastian Bergmann – "We need better tooling to understand our code. I love that Ondřej is pointing the way forward."

medium.com/@edmond.ht

How far is PHP from true multithreading?

This article looks into what it would really take for PHP to support meaningful multithreading in the future. In addition to the single-threaded-plus-offload model, true parallel execution inside the language would require deep changes to memory management, object handling, and the engine itself.

Picked by Stefan Priebsch – "What makes this worth reading is not whether multithreading arrives soon, but how clearly it shows the architectural cost of getting there."

github.com/m0x41nos

Limits of PHP sandboxing

This repository presents a proof of concept that makes an uncomfortable point very clearly: PHP sandboxing mechanisms like disable_functions are not a reliable security boundary on their own.

Picked by Stefan Priebsch and Sebastian Bergmann – "This is not an article in the usual sense, but we still think it is worth knowing about. In practice, we never see server security depend on this feature."