To double quote or not, that's the question!
– dev.to
Spoiler: it doesn't really matter anymore as long as you're using a modern version of PHP
Read more [dev.to]
– dev.to
Spoiler: it doesn't really matter anymore as long as you're using a modern version of PHP
Read more [dev.to]
Here's how we handle secrets at Flare
Read more [flareapp.io]
Join 9,500+ smart developers
Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.
No spam. Unsubscribe anytime. You can also follow me on X.
"Always fresh, useful tips and articles. Carefully selected community content. My favorite newsletter, which I look forward to every time."
– cpx.dev - submitted by Liam Hammett
Run Composer packages, effortlessly. No need to install tools into your app or as global dependencies.
Read more [cpx.dev]
– ashallendesign.co.uk - submitted by Ash Allen
Learn how to use the Pipeline class in Laravel to break complex workflows into smaller, isolated, focused processes. We'll then look at how to test our Laravel pipelines.
Read more [ashallendesign.co.uk]
– www.harrisrafto.eu - submitted by Harris Raftopoulos
Laravel's accessor caching with shouldCache() boosts performance by preventing repetitive computations for expensive accessors. Additionally, you can work with complex data like addresses using value objects, and Laravel will auto-sync changes back to the model. This improves code efficiency and maintainability, especially for structured data.
Read more [www.harrisrafto.eu]
A nice real-world example on how you can add Reverb to an existing Laravel app
Read more [laradir.com]
– koomai.net - submitted by Sid
A detailed look at how Laravel's defer() helper works.
Read more [koomai.net]
These attributes help you inject various pieces of data into your classes
Read more [www.amitmerchant.com]
– backpackforlaravel.com - submitted by Karan Datwani
Read more [backpackforlaravel.com]
– geoligard.com - submitted by Goran Popović
See how to easily modify and override methods found in the framework's Request class in order to handle specific routes with sizeable payloads.
Read more [geoligard.com]
– flareapp.io - submitted by Spatie
Read more [flareapp.io]
– myray.app - submitted by Spatie
Read more [myray.app]
Generics have been on the list of wanted features for a long time by numerous PHP developers. This article explores the different approaches, and what their current state is.
Read more [thephp.foundation]
– ashallendesign.co.uk - submitted by Ash Allen
Read about the upcoming "property hooks" feature that will be added in PHP 8.4.
Read more [ashallendesign.co.uk]
– ashallendesign.co.uk - submitted by Ash Allen
Read about how to use PHP 8.4's new "array_find", "array_find_key", "array_all", and "array_any" functions. The article also shows you the Laravel equivalents so you can achieve the same goal now.
Read more [ashallendesign.co.uk]
– tighten.com - submitted by Jamison Valenta
Learn how to add full-text search into your Laravel apps. From simple LIKE queries to MySQL full-text indexes, and landing on Laravel Scout powered by @typesense.
Read more [tighten.com]
– gummibeer.dev - submitted by Tom Witkowski
How to retrieve any geographical data from OpenStreetMap and transform them into usable PHP objects.
Read more [gummibeer.dev]
We’ve released a new package called spatie/pest-plugin-route-testing. This package can test all common routes in your Laravel app by writing a single test.

In this blog post, I’d like to tell you all about it.
– youtu.be - submitted by Bert De Swaef
In this episode of the Quick Win Wednesday series, we're taking a look at whereAny(), which was released with Laravel 10.47. A very elegant way of grabbing data based on a conditional "any of the following columns".
Read more [youtu.be]
When Laravel switched to a simpler exception page, the ability to display solutions for an exception was lost.
Our latest package, called spatie/laravel-error-solutions brings back that powerful feature. When installed, it will display solutions for most common exceptions.
Here’s how that looks it:

And yes, some solutions, like the one in the screenshot above, can be executed on the exception page too.
In this blog post, I’d like to tell you all about it!