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 #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."

Issue #4

A community gaining momentum

24 March 2026

"This issue is a reminder that communities grow stronger when they question, rethink, and build in public."
— Stefan & Sebastian

blog.daniil.it

Could community releases accelerate PHP?

Daniil Gentili, maintainer of Psalm, proposes an official rolling community release that would give developers early access to experimental PHP features. He argues that this might help the PHP community evolve the language even faster.

Picked by Sebastian Bergmann and Stefan Priebsch – "An interesting idea, albeit a controversial one. Discussing proposals like this is what PHP moves forward."

ilia.ws

Persistent database connections in PHP

How do persistent database connections in PHP work, and why can they boost performance? Ilia Alshanetsky, PHP core contributor and former release manager, revisits why they were considered problematic in the days of shared hosting and explains why those concerns are often manageable in modern PHP deployments.

Picked by Sebastian Bergmann – "Seeing Ilia, one of the most experienced voices in the PHP community, blogging again is a real pleasure. We'd like to think that PHP Reads helped inspire his return."

afilina.com

A community-run video platform for PHP

A new project aims to give the PHP community a community-run alternative to YouTube, focused on discovery, openness, and creator control rather than algorithms, ads, and platform lock-in. Built on PeerTube and inspired by the federated model behind phpc.social, it is intended as a more sustainable home for PHP video content and community exchange.

Picked by Stefan Priebsch – "Communities become stronger when they create the platforms and spaces they want to belong to."

Issue #3

Closures, scope, and surprising side effects

17 March 2026

"This week, we take a closer look at PHP closures: how they work, how they can be used in surprising ways, and how they can influence behaviour far beyond the code they contain."
— Stefan & Sebastian

dev.to/mikevarenek

Introduction to PHP closures

If you are unfamiliar with closures in PHP or have not given much thought to how they work, this blog post provides an excellent overview of the basics. It provides an accessible introduction to the concept and demonstrates why closures are useful in everyday PHP development.

Picked by Stefan Priebsch – "Read this if you want to set the stage for the other two pretty advanced posts we have selected for you this week."

f2r.github.io

Why use static closures?

The article explains that PHP closures created inside instance methods implicitly maintain a reference to the current object, even when the variable $this is not used directly. This subtle aspect of PHP closures can affect the lifetime of objects and their runtime behaviour in ways that many developers may not expect. An improvement will be introduced with PHP 8.6.

Picked by Sebastian Bergmann – "This concise read that sharpens your intuition for how small structural choices can affect runtime behavior and code quality."

freek.dev

How to easily access private properties and methods in PHP

This post shows how easy it can be in PHP to inspect or interact with an object’s private internals when you truly need to. More broadly, it uses that example to explain an interesting aspect of PHP itself: visibility is tied to class scope, and closures can be rebound in a way that opens access without a lot of heavy machinery.

Picked by Stefan Priebsch – "We did not select this post because you should access private methods and properties, but because it demonstrates an elegant way to solve this problem using closures."