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
The Job That Ran Before the Row Existed: Dispatching Inside Laravel Transactions
A queued job throws ModelNotFoundException for a row that plainly exists. It is not a bug in the job — it is a worker that got there before your transaction committed.
Write a Custom Rector Rule to Refactor Your Own Laravel Conventions
Rector gets used for framework upgrades and almost never for the thing it is best at — mechanically applying a decision your own team made. Here's the AST-first workflow, and the two mistakes that make a new rule silently do nothing.
Find the Composer Packages Your Laravel App Doesn't Actually Use
Every long-lived Laravel app carries packages nobody uses and packages nobody declared. Here is how to find both, survive the false-positive wall, and gate the check in CI.