Implementing Multitenancy in Laravel original
Here's the recording of the talk I did at this years Laracon India. In this talk, I show how we use our laravel-multitenancy package to make Mailcoach tenant aware. Enjoy!
Originals — posts I've written myself.
Here's the recording of the talk I did at this years Laracon India. In this talk, I show how we use our laravel-multitenancy package to make Mailcoach tenant aware. Enjoy!
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.
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.
"If you are one of the *millions* who have downloaded a Spatie package, then you understand the quality that Freek aims for. The newsletter is of the same quality of any Spatie package you're using."
We’ve published a new package called livewire-filepond, which contains a component to easily upload files.
Under the hood, Filepond, a powerful JavaScript library to upload files, is used.
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!
Here's the recording of the keynote at this year's PHPUKConference.
Recently, people started talking about a malware called “Androxgh0st” specifically targeting Laravel apps. In a recent edition of Securing Laravel, Stephen Rees-Carter wrote a good explanation of how it works. The malware targets apps with APP_DEBUG set to true. When enabled, Laravel will give…
Read more [ohdear.app]
We released a mini package called spatie/holidays that can calculate the public holidays of a country.
Last week, we released a new package called Laravel PDF that allows you to transform Blade views into PDFs. Under the hood, Chromium is used to perform the transformation. Because Chromium is an up-to-date browser, you can use any modern CSS you like.
Some people have asked if they can use Tailwind to style their documents. And I’m happy to report you can. Let’s take a look at a minimal example to showcase this.
I just read this nice blog post that contains a few tips on how to interview a Laravel developer. When hiring someone at Spatie, I usually tend to get a feel if a candidate is passionate about our field of work. I ask questions like: Who are the people you feel you can learn from? What blogs are you…
– flareapp.io - submitted by Spatie
An introduction to the Flare GitLab integration!
Read more [flareapp.io]
– flareapp.io - submitted by Spatie
A few days ago, we added a GitLab integration. In this blog post, we'll talk about the road to that integration and our struggles.
Read more [flareapp.io]
We’ve released a new package called spatie/laravel-pdf, a batteries-included package to generate PDFs in Laravel apps. Under the hood, it uses Chromium to generate PDFs from Blade views. You can use modern CSS features like grid, flexbox, and even frameworks like Tailwind to create beautiful PDFs.
In this post, I’d like to introduce and demonstrate the package.
We’ve released a new major version of spatie/image, v3. This package makes it very easy to manipulate images using PHP.
At the same time, we’ve also released a new major version of spatie/laravel-medialibrary. This is a powerhouse package that can associate all kinds of files with Eloquent models. The latest version of this package now uses spatie/image v3 under the hood for manipulating images.
In this blog post, I’ll explain why we made new major versions and how they can be used.
Like every year, we have some Black Friday discounts at Spatie. We made fun video about it.
This blog post will be a little different. I'm not going to write about programming as usual. Over the past few months, I have worked on my new album titled "Kind". You can listen to it on these platforms:
In this blog post, I'll share how this album was made from conception to release.
Last year at Full Stack Europe we had two great keynotes by two amazing speakers: Jeremy Keith and Kevlin Henney. We're very happy that we can share the recordings with you.
Next month, we'll have a new edition of Full Stack Europe, you can purchase your tickets here. We have an excellent line-up featuring Justin Jackson, Una Kravets, and people that work at companies like Meta, Google, Netlify. If you're familiar with the Laravel community, you'll also probably recognize Kai Sassnowski, Tobias Petry, and a few others! Hope to see you at the conference!
In a perfect world, email clients can render HTML as good as major browsers. Unfortunately, this is not the case. Email clients don't support modern HTML and CSS niceties and have a lot of quirks to be mindful of. Making sure an HTML email looks good in the most used email clients takes a lot of work.
To make crafting HTML emails a lot more enjoyable, the folks at Mailjet created a solution called MJML, which stands for "Mailjet Markup Language." It's an easy-to-use abstraction layer over HTML.
We have created a new package called spatie/mjml-php to easily convert MJML to HTML using PHP. If you're using Sidecar, you'll be happy to know that we've also created a package called spatie/mjml-sidecar, to convert MJML to HTML using Sidecar.
In this blog post, I'd like to introduce the package to you.
Some fancy tricks are being used to achieve this.
Read more [flareapp.io]
Whenever Oh Dear detects something wrong with your site, it can send you a notification. We have multiple channels available: Slack, Telegram, webhooks, and many more. The most popular channel our users use is just simple mail.
Behind the scenes, Oh Dear uses Postmark to send emails. Postmark will inform us whenever a notification mail results in a hard bounce. A hard bounce means that the mail won't be delivered. The most common reason for this is that the mailbox doesn't exist (anymore). This can occur when somebody changes jobs, and the work email address no longer exists.