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
Protect Livewire 4 Properties from Client-Side Tampering with #[Locked]
Every public Livewire property is sent to the browser and accepted back, so a user can rewrite it in DevTools. #[Locked] shuts that door for the properties that matter.
Persist Multi-Turn Chat History with the Laravel AI SDK
A stateless agent forgets every turn. Here's how to wire persistent conversation memory into a Laravel AI SDK agent, resume a chat by ID, and stop long histories from wrecking your token budget.
Parse HTML5 Properly with PHP 8.4's Dom\HTMLDocument
For twenty years, parsing HTML in PHP meant fighting DOMDocument's mangled UTF-8 and XPath. PHP 8.4's Dom\HTMLDocument finally does it properly.