Laravel transporter is an easy to use wrapper around Laravel PendingRequest that allows you to define requests as classes, and override options at run time when you need to.
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’s newsletter is one of the best ways to stay updated with the Laravel and PHP ecosystem. It consistently highlights useful packages, tools, and ideas from the community, especially the amazing work coming from Spatie. As a Laravel developer building SaaS and web platforms, I find it extremely helpful to discover practical tools and insights that improve my development workflow."
Last week we released a new version of spatie/laravel-event-sourcing. Version 5 is probably one of the largest releases since the beginning of the package. We've worked several months on it and have been testing it extensively already in our own projects.
In this post, my colleague Brent will walk you through all the changes and new functionalities.
Regular expressions are powerful, PHP but they are not known to be readable, and more often than not, maintaining a regular expression is not a straight-forward task. Here are some tips to improve and write better regular expressions in PHP.
If you ever wanted to get started with event sourcing, this is the course for you. It contains a beautifully designed ebook, two hours worth of videos, and a demo Laravel app containing an event-sourced shopping cart.
Event sourcing isn't an all or nothing approach. Even if your project doesn't need the full power of event sourcing, you can still benefit from knowing and implementing best practices from the event sourcing world.
A couple of years ago, Ignition became the default error page in Laravel.
Ignition provided a vastly improved design over Whoops: it brought Laravel specific niceties (such as showing the routing, queries) and the ability to display and even run solutions (e.g. generating an app key).
At Spatie, we think we can improve the design of Ignition even more. Our initial plan was to release this new design in tandem with Laravel 9 as a big bang surprise release. We've changed our mind on this because we'd like to have feedback from the community.
In this blog post, I'd like to share our ideas and plans for Ignition.
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.
If you code bases contains a long procedure with a lot of if statements to determine which case should be handle, consider extracting each case to its own dedicated class. Here's an example from the Mailcoach code base.