spatie

All my posts about spatie.

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.

Using the `Attachable` interface to attach any kind of object to a mail in a Laravel app original

by Freek Van der Herten – 4 minute read

Laravel 9 has gained a excellent new way to attach files in mails. Using the Attachable interface, you can specify what should happen when an object gets used as an attachment.

Using our media library package you can easily associate any file with an Eloquent model. We've added support for Laravel's Attachable in the latest version of the package.

In this blog post, I'd like to tell you all about it.

Read more

A package to add comments to your Laravel app original

by Freek Van der Herten – 10 minute read

I'm proud to announce that our team has released a new premium package called Laravel Comments. Using this package, you can set up a comments section in your Laravel app in no time.

We've made a nice, errr I mean epic launch movie to get you in the right mood.

Laravel Comments includes a Livewire component to render comments. Here's what it looks like:

screenshot

Of course, we wrote extensive documentation, covering every aspect of Laravel Comments.

It comes with batteries included:

  • comments can be nested
  • emoji reactions
  • notifications to all participants when a new comment is posted
  • an inline approval flow for new comments
  • markdown editing and code highlighting
  • endlessly customisable

In this blog post, I'd like to introduce the package to you.

Read more

A package to create Livewire powered wizards in no time original

by Freek Van der Herten – 9 minute read

I'm proud to announce that our team has released a new package called laravel-livewire-wizard. Using this package, you can set up multi-step wizards quickly using Livewire.

The package is headless, which means that it provides no UI itself, but it makes it easy to build any UI you desire.

You can easily control which step is displayed, access state of other steps, and build any navigation you desire.

I'd like to introduce the package to you in this blog post.

Read more

Introducing Visit: a CLI tool made for humans to make network requests

I'm happy to announce that we have released Visit. This tool can display the response of any URL. Think of it as curl for humans. By default, the output will be colourized, and the response code and time will be displayed after the response.

screenshot

JSON responses will be colourized by default as well.

screenshot

And there's integration with Laravel: it can log in any user, report the numbers of queries used to build up the response, and more.

screenshot

I'd like to tell you all about it in this blog post.

Read more

Invading private properties and methods in PHP

Last week, Caleb tweeted about a nifty function called invade - that he had made to easily work with private properties and methods.

He added that invade function to Livewire. Because I could see myself using this in non-Laravel projects, I packaged up the function in a new package called spatie/invade.

Read more