This article continues the series on integrating Trix with Laravel by focusing on user mentions using the Rich Text Laravel package. It walks through adding a Tribute.js-powered mention picker in the editor, implementing back-end support via an AttachableContract and Signed Global IDs, and even scaffolds a notification system to email mentioned users.| freek.dev
Making a visually appealing range input based on Laravel Cloud's design, native HTML and only a few lines of JavaScript.| freek.dev
In this episode of the Quick Win Wednesday series, we're taking a look at the cases function on Enums.| freek.dev
Povilas from Laravel Daily made a cool video about our packages.| freek.dev
Our new package gives you everything you need to build a secure one-time password auth flow.| freek.dev
When you say "just," you're skipping over all the invisible complexity.| freek.dev
Something that you’ll need to often is casting the collection back to a regular array. Like me, you might be tempted to use toArray() for this. But that might be the wrong method to call.| freek.dev
Tests performed by Tideways show that, in general, the performance between 8.2, 8.3 and 8.4 does not move much for a Laravel, Symfony and WordPress demo application.| freek.dev
Stubs are fake implementations of interfaces or classes that simulate the behavior of real services.| freek.dev
After more than 9 years working with Laravel—leading a dev team and architecting solutions—I still sometimes feel like I’m not doing enough.| freek.dev
Utility types are types that modify other types. You can think of them as functions, but they operate on types instead of values.| freek.dev
We'll cover resizing, image optimization, and UI enhancements and show how Spatie's packages and products can make the whole process easier, more efficient, and even a bit fun.| freek.dev
Users don’t know what your product does, how to use it, or why they would use it. You need docs to explain this.| freek.dev
I’m proud to announce that we’ve released a new package called spatie/laravel-passkeys that makes adding passkeys to a Laravel app as easy as it can be.| freek.dev
Here's a fun little sideproject from my colleague Seb. This web app is built with Laravel, Alpine.js, and Tailwind CSS. Content is stored in Markdown files and loaded with our sheets package.| freek.dev
If you held an individual Spatie employee at gunpoint (please don't) and forced them to pick a favorite, you'll get a 50/50 split. But when we look at the choice at hand as a team, it becomes easier to determine the right fit.| freek.dev
Group by type or context / process? One of these methods will crush your project's growth. Find out which!| freek.dev
Everyone knows the classic decorator pattern—but have you met its duck-typed cousin? Discover how to extend Laravel behavior without interfaces, the clever way.| freek.dev
Find out how we can champion PHP as a community and help bring it to the attention of more developers| freek.dev
A short post about my preferences around type safety and static analysis.| freek.dev
If you’ve been working with Laravel for a little while, you’ve probably come across observers and event listeners. But what is the difference?| freek.dev
Marin Joo covers configuring Supervisor to manage worker processes, including defining commands, scaling, and logging. He also explores using multiple queues and prioritizing them to optimize worker usage.| freek.dev
Laravel’s new fillAndInsert() method enables bulk insertions while applying model casting, timestamps, and UUID generation.| freek.dev
Many of the most effective people I’ve worked with also do the most metacognition, i.e., reflecting on their own (and their team’s) work and thought processes, and figuring out how to improve them.| freek.dev