Dealing with the n+1 problem in Laravel
Mohamed shows how you can deal with N+1 problems using the $with model attribute and the newly added Model::preventLazyLoading() method.
Mohamed shows how you can deal with N+1 problems using the $with model attribute and the newly added Model::preventLazyLoading() method.
Benjamin Eberlei tells the story of a performance mistake that is quickly made even by experienced developers.
Read more [tideways.com]
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.
"Freek publishes a super resourceful and practical newsletter. A must for anyone in the Laravel space"
Mohammed Said created another kick ass video, this time on how Laravel handles DB connections.
Ross Wintle dissected the recent RFC for auto-capturing multi-statement closures in PHP.
Read more [rosswintle.uk]
Laravel recently added parallel testing to the framework using the Paratest package which runs PHPUnit in separate parallel processes. Adding support for this in your own package tests is pretty straightforward using orchestral/testbench.
Read more [www.rias.be]
– github.com - submitted by Aaron Francis
Sidecar packages, creates, deploys, and executes Lambda functions from your Laravel application.
Read more [github.com]
Sometimes it is not clear what the responsibility of a certain class is. This can be solved by adding a suffix to the class name.
Thanks to Doeke Norg personal access tokens became more flexible in Sanctum. In this blog post, he explains how you might use the new functionality
Read more [doeken.org]
Our team has released a new package called file-system-watcher. As the name implies, this package can watch changes in the file system and let you act on those changes.
Jordi is back with another post containing interesting statistics around PHP usage.
Read more [blog.packagist.com]
– www.tonysm.com - submitted by Tony Messias
Tony Messias explains this design pattern using a cool example.
Read more [www.tonysm.com]
You can make your code more readable by moving all your exception messages to dedicated classes. We using this technique in all our projects and packages.
Out of the box, Laravel comes with the ability to generate "signed" URLs. These URLs have a hash in their query string that verifies that the URL was not modified.
At Flare, we use these signed URLs to add action links in mail notifications. The action links allow users to snooze and resolve errors right from the mail without having to be logged in. Pretty convenient!
My buddy Dries Vints noticed a slight drawback. He got a mail from Flare that contains these action links. A few hours after the mail arrived, he clicked one of the action links. This is what he saw.
Laravel's awesome closure based routing was probably one of the first features I fell in love with. I take it for granted now, but back in the days, such a simple way of adding a route felt like a glass of water in hell compared to the other frameworks.
Typically, you would only add routes that are necessary for the users of your app. Something that I have been doing for a long time is to create a routes file, called dev.php, with routes that can help with app development.
PHP is a fantastic language that has seen many cool improvements over the past few years. What you may not be aware of is that only a very few people can work on the language itself. This is obviously not healthy and hopefully this situation will improve in the future.
Read more [blog.krakjoe.ninja]
In this stream my colleague Brent and I continued our conversation about the foundations of event sourcing. This time we showed a shopping cart that we've built using Laravel and event sourcing.
If you're interested in learning more about event sourcing, be sure to check out our upcoming course on using event sourcing in Laravel.
Our team released a new package called spatie/fork. Using this package you can easily execute multiple pieces of code concurrently.
PHP has several over 30 functions at the moment that make use of special OPCodes or otherwise inlined to improve performance.
Read more [php.watch]