HomeRésuméOpen SourceWorkBlog

Blog posts about development of PHP

(clear filter)

Rewriting Reflection with Rust

Friday, 10 July 2026

Over the last few weeks, I have been working on rewriting the PHP Reflection extension in Rust as an exercise in building extensions in Rust. In addition to understanding how to implement extensions in Rust, the process also highlighted a number of ways that the Reflection extension could be improved. Continue reading...

Friends in PHP

Monday, 09 March 2026

As I mentioned in my last blog post, while at ConFoo I and a few other developers worked on some ideas for adding friendship support to PHP. To be clear, these are just ideas at the moment, but I figured they were worth sharing. Continue reading...

This Year in PHP (2025)

Tuesday, 20 January 2026

Now that we are a few weeks into 2026, I figured it would be a good opportunity for me to reflect on my PHP contributions in 2025. It was a pretty big year for me in terms of contributing to the php-src repo. Continue reading...

Out-of-Band Signaling

Friday, 29 August 2025

Sometimes, code needs to be able to signal an error has occurred. Perhaps some invariant was violated. Perhaps an invalid parameter was used. Regardless of the reason, there are two ways to signal an issue: "in-band signaling", and "out-of-band signaling". Continue reading...

#[\DelayedTargetValidation] Attribute Explained

Wednesday, 20 August 2025

PHP 8.5 will come with a new attribute, #[\DelayedTargetValidation], that is intended to help libraries that support running on multiple versions of PHP. The attribute can be a bit confusing, so as the author I figured I should write up a (hopefully helpful) guide. Continue reading...

A Tale of Two RFCs

Sunday, 22 June 2025

A few minutes ago, my third RFC, adding support for promoted final properties, was implemented after being approved unanimously. This comes after my second RFC, adding support for never parameters, was rejected by the community. Continue reading...

Attributes on constants

Tuesday, 29 April 2025

Earlier today, the attributes-on-constants RFC implementation was finally merged. This was a project I worked on for months and a significant reason I became more active as a PHP core developer. The initial motivation was to add a way for constants to be marked as deprecated, so that MediaWiki could use that feature to signal deprecated constants instead of relying solely on documentation. Continue reading...