Filtering Empty Arrays Before array_merge()?

Filtering Empty Arrays Before array_merge()? Picture this: you’re looping through something, calling a function each time. It always returns an array, and, sometimes it gives back an empty array. At the end, all these array will be array_merge(…$results) together. The first point is to avoid array_merge() inside the loop, as it is one of the […]

Testing regex with reverse generation

Testing regex with reverse generation I had a regex once that passed 37 hand-written tests. First fuzz run found a crash in 200ms. That’s what this post is about: testing regex with reverse generation using pointybeard/reverse-regex to generate strings guaranteed to match a regex, so you can test your validation code against inputs you didn’t […]

The Empty String in PHP: One Value, Too Many Jobs

The Empty String In PHP

The Empty String in PHP: One Value, Too Many Jobs The humble empty string “” is everywhere. It’s the quiet default, the silent failure signal or the silent success signal, the lazy cast, the natural accumulator. Behind the obvious simplicity of the empty string in PHP lies a surprising amount of overloaded meanings, which leads […]

Usages of PHP Static variables

Usages of PHP Static variables I thought static variables were a lesser known PHP feature. Then, I counted about 30% of PHP projects using it, and I realized it was a more common feature than I thought. If you haven’t encountered then, they are distinct from static properties. Within a method, it is possible to […]

Current PHP RFCs in Voting Phase (March 2026)

PHP RFC in voting phase (March 2026)

Current PHP RFCs in Voting Phase (March 2026) The PHP community has five current PHP RFCs in Voting Phase. The PHP community is actively voting on features that are shaping the future of the language. They range from new functions, code federation, development organisation and license aspects. The current, future and old ones are all […]

Calling All Ancestors

Calling All Ancestors

PHP Inheritance Challenge: Calling All Ancestors PHP’s object-oriented features are exhaustive and modern, yet sometimes life send you a little challenge: who doesn’t like a surprise? Today we’ll look at a rare inheritance puzzle. In this post, we are calling all ancestors in a class hierarchy. We start with three classes, extending each other in […]

Refactoring Strings to Enums

Refactoring strings to enums

Refactoring Strings to Enums This article describes the journey of refactoring a not-so-old piece of code from using strings to using enumerations. Original Reasons When Exakat was started in 2014, enumerations were not even on the radar. Strings, and sometimes constants, were the obvious solution. As the original concept evolved quickly, strings were used everywhere, […]