PHP 8.4 Property Hooks: The Getters I Stopped Writing
PHP 8.4 property hooks and asymmetric visibility, with before-and-after code. The getter and setter boilerplate I deleted, and where these features bite back.
PHP 8.4 property hooks and asymmetric visibility, with before-and-after code. The getter and setter boilerplate I deleted, and where these features bite back.
I've shipped Laravel apps with Livewire, Inertia.js, and a separate React SPA. Here's how I actually choose between them, with code and a few regrets.
I moved my realtime features off Pusher to self-hosted Laravel Reverb. Here's the actual code diff, what got better, and the production gotchas that bit…
Why Filament PHP replaced my hand-rolled Laravel admin panels, the resource patterns I actually use, and where I still drop down to raw Blade.
PHP enums quietly replaced years of class constants and validation helpers in my code. Here's where backed enums earn their keep, and the one limit…
Five Laravel queue habits I changed after years of failed jobs, with the maxExceptions, Horizon, and idempotency configs I now reach for on every new…
PHP 8.4 array_find, array_any, array_all, and array_find_key replaced years of array_filter plus current chains in my codebase. Here is what stuck.
Real notes on which Laravel 12 features stuck after fifteen months in production: the streamlined skeleton, Inertia 2 deferred props, and what I dropped.
I've been writing PHP 8.4 property hooks in production Laravel apps for a year. Here's where they cleaned up my models and the one place…
Six weeks running Laravel Pulse in production. The recorders I turned off, the slow query that surprised me, and when I still reach for Telescope.