Engineering,
taught
&
leadership,
practised.
I'm Steven — CTO at Digitonic, a PHP engineer since 2010 and a keen golfer with a terrible handicap. This is where I write it all down.
Latest from the journal
Stop Fighting pecl: Installing PHP Extensions with PIE
pecl is deprecated and PIE is the official replacement. Here is how to install, pin and verify PHP extensions, and how PIE slots into a multi-stage Laravel Dockerfile.
Stop Asking the Model for a Verdict: Composite Scoring with Jev in Laravel
A single AI quality score is a number nobody can defend. Here's how to split the judgement into atomic Jev Score questions and combine them with weights your own code owns.
fopen() Returned false. Why? PHP 8.6's Stream Error API
PHP 8.6 finally gives streams a structured error model. Here's how to move a Laravel file helper off @fopen() and error_get_last() onto StreamException.