Articles


Introducing the NamespaceVisibility attribute

October 21st 2025

Learn how the NamespaceVisibility attribute emulates the missing package visibility modifier. [Read]


Introducing the MustUseResult attribute

October 5th 2025

Learn how the MustUseResult attribute can prevent coding mistakes. [Read]


Introducing the Friend attribute (example 1)

September 27th 2025

Learn how the Friend attribute can be used to enforce the usage of creational design patterns. [Read]


Introducing the PHP Language Extensions Library

September 14th 2025

It's possible to use static analysis to emulate new language features in PHP. This article examines how, and introduces the PHP Language Extension Library. [Read]


Adding PHPStan to existing projects: Sell the dream, manage the expectations

June 23rd 2023

This is the first part of a 4 part series of articles about adding PHPStan to existing projects. First we'll deal with team members who might object. [Read]


SARB version 1 released

March 18th 2021

Static Analysis Results Baseliner (SARB) is used to create a baseline of these results. As work on the project progresses SARB can takes the latest static analysis results, removes those issues in the baseline and report the issues raised since the baseline. Learn all about version 1. [Read]


A standard for generics in PHP

December 14th 2020

Generics in PHP is already a reality with static analysis. The leading static analysers have largely converged on an unofficial standard. This article proposes the first steps towards a standard. [Read]


PHP Generics Today (almost)

June 5th 2019

Many PHP developers would love generics. We might have to wait a while until they come along. This article shows how existing tools can give us the power of generics now (almost). [Read]


Using AI to convert PHP engine from C to Rust

April 1st 2023

The code that executes PHP is currently written in C. Converting this to Rust offers many advantages. This article talks about work in progress to convert the C code to Rust, using Chat GPT. [Read]