Thoughts on web development, Laravel, PHP, and solving problems day to day.
If `#[RouteParameter]` in your Laravel form request receives a string instead of a model, the issue is usually not that the attribute failed to bind. It is that the attribute never binds anything in the first place.
PHP 8.4's property hooks let you replace simple getter methods with virtual properties, keeping a consistent property-based API. Here's when I reach for them and why.
Learn how Laravel's distinct validation rule can help ensure uniqueness across array items in your form requests, preventing ambiguous references before they cause problems downstream.
I often use more semantic names in my API surfaces that need mapping back to database fields. Here's one approach I reach for.
I'd been having very slow Livewire tests in my application but hadn't put much stock into it until I started work on the app again and was running the suite often.
If you've seen a whole heap of invalid 4xx-level requests hit your website inside of Nightwatch (and subsequently consume all your events), here's one approach to stop those requests hitting your app entirely.
Fixture data is a great way to ensure your application code can handle known data structures, but it can be a little tedious to work with. Lets look at one approach to streamlining the process.
If, like me, you've ever had to monitor metrics for your Laravel Vapor application you'll find that the basic options are either tedious, or just don't work. Enter Grafana (Cloud)
On August 31, 2021 I presented remotely to the BrisPHP meetup on building an application to scale on Laravel Vapor
If you've ever run in to mysterious issues working with dates in Laravel, immutable dates are for you!