Laravel Octane in Production: What FrankenPHP Changed for Me
I migrated two Laravel apps to Octane with FrankenPHP and watched p99 latency halve. Here's what broke, what I left on FPM, and the real…
I migrated two Laravel apps to Octane with FrankenPHP and watched p99 latency halve. Here's what broke, what I left on FPM, and the real…
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…
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…
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.
I migrated a Laravel codebase from PHPUnit to Pest and stopped halfway. Here's where Pest actually wins, where PHPUnit still does, and what I'd skip.