Issue #17

The cost of getting things right

13 October 2026

"Getting things right takes work that is easy to overlook. Packagist needs sustained care and funding, while accurate arithmetic starts with understanding how PHP stores numbers. PHPStan's latest release shows the engineering it takes to make precise checks fast enough for everyday use."
— Stefan & Sebastian

blog.packagist.com

Fifteen years of Packagist

Jordi Boggiano and Nils Adermann look back on fifteen years of Packagist.org, which has now served more than 200 billion package installs. They tell how Composer and Packagist came out of the needs of phpBB and Symfony. They also explain why the companies that build on the registry need to help fund it.

Picked by Stefan Priebsch and Sebastian Bergmann – "Composer and Packagist are part of nearly every PHP project, and keeping them running and secure is demanding work that most of us never see. Jordi and Nils have carried it for fifteen years, and it is time for the PHP community to share the load."

thephp.foundation

Getting arithmetic right in PHP

The author explains why 0.1 + 0.2 is not exactly 0.3, and why in PHP an integer that grows beyond PHP_INT_MAX silently becomes a float and loses precision. The article explains the reasons behind these precision problems and how to handle them. A tolerance can be enough for comparisons, while BCMath or GMP can give exact results if the values are passed as strings before any precision is lost.

Picked by Stefan Priebsch – "Many developers know that floats are imprecise, but fewer know that PHP's integers become floats when they overflow. An exact result depends on choosing the right representation before the calculation begins."

phpstan.org

PHPStan 2.3 is much faster

Ondřej Mirtes presents PHPStan 2.3, which analyses the source code of WordPress in 8 seconds on his machine, where it needed 60 seconds at the end of 2025. Much of the gain comes from PHPStan Turbo, an extension written in C++ that most users get automatically. A rewrite of the analysis engine made the release faster, too, and it enabled new features such as better type inference for generics and the detection of unused variables.

Picked by Sebastian Bergmann – "When static analysis finishes in seconds, developers run it more often and agents can deliver results faster. Ondřej's work this year has improved not only PHPStan's performance, but also its precision."