spatie

All my posts about spatie.

? Four years of murze.be ?

4 years ago I started this blog as a tool to share interesting blogposts I found around the web. On each anniversary of my blog I published some interesting stats on the blog. This year is no different.

Between November 2017 and november 2018 this blog served 728 243 pages, a good increase compared to the 591 113 pageview from the previous period. There are 1 217 published posts, of which 195 I've written myself. The others ones are links to other blogs.

Last year in November I moved this blog from WordPress to a custom made Laravel app. A few months ago I removed the handcrafted admin section in favor of Laravel Nova. I'm really glad that I now have full control over my blog and not tied to WordPress anymore. I also opensourced the Laravel app. You can find the source code in this repo on GitHub.

These were the ten most visited posts of the past 12 months:

  1. My current setup (2018 edition)
  2. How to upgrade from PHP 7.1 to 7.2 on MacOS
  3. Introducing our Nova packages
  4. Handling CORS in a Laravel application
  5. laravel-medialibrary v7 has been released
  6. Breaking Laravel's firstOrCreate using race conditions
  7. When empty is not empty
  8. Doing less
  9. A better way to register routes in Laravel
  10. Using Content Security Policy headers in a Laravel app

I do hope you still enjoy reading this blog!

Read more

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.

Making Nova fields translatable original

by Freek Van der Herten – 5 minute read

Laravel Nova is cool package to quickly create admin interfaces in a Laravel app. Unfortunately there's no support for multiple locales out of the box. A while ago we published a package called nova-translatable that makes any of the built in field types translatable. Using the package In order to…

Read more

Our packages have been downloaded 20 million times original

by Freek Van der Herten – 3 minute read

At Spatie we do a lot of open source work. You can find a list of our packages on the open source section of our website. I'm proud to share that, according to Packagist, the Spatie packages have now been downloaded over 20 million times. The rate at which they are being downloaded is growing too.…

Read more

Laravel domains

stitcher.io

My colleague Brent shares how we've been structuring our non-trivial projects at Spatie.

In this post we'll look at a different approach of structuring large code bases into separate domains. The name "domain" is derived from the popular paradigm DDD, or also: domain driven design.

Read more [stitcher.io]

Use custom html components in your Blade views original

by Freek Van der Herten – 7 minute read

Today we launched our newest package called BladeX. In short this package provides you with an easy html like way to render custom html components in your Blade views. In this blogpost I'd like to introduce the package to you. A first example When building a server rendered app you're probably going…

Read more

Introducing BladeX View Models original

by Freek Van der Herten – 3 minute read

Earlier today we released BladeX, a package that allows you to use Blade components using a Vue inspired syntax. Read all about it in my previous blogpost. In the latest North Meets South podcast Jacob and Michael discussed BladeX and wondered if the package could be married with view models or…

Read more

A tags field for Nova apps original

by Freek Van der Herten – 4 minute read

A while ago I ditched the custom admin of this blog in favour of Laravel Nova. As you might have noticed every blog post on murze.be has some tags. Nova ships with many form fields but a field to use tags is not included out of the box. That's why I created my own tags field and released it as…

Read more

Introducing Laravel view models

stitcher.io

My colleague Brent released another awesome package called laravel-view-models. On his blog he shares some good examples and uses cases.

In essence, view models are simple classes that take some data, and transform it into something usable for the view. In this post I'll show you the basic principles of the pattern, we'll take a look at how they integrate in Laravel projects, and finally I'll show you how we use the pattern in one of Spatie's, our company, projects.

Read more [stitcher.io]

Introducing our Laravel Nova packages original

by Freek Van der Herten – 3 minute read

Introducing our Laravel Nova packages Laravel Nova is a beautiful admin panel that was first showcased at Laracon 2018 by Laravel creator Taylor Otwell. Using Nova building rich admin panels is a breeze. Nova was released today. Taylor was kind enough to give us early access to Nova shortly after…

Read more

A few notes about the frontend of the renewed spatie.be original

by Willem Van Bockstal – 5 minute read

Before we moved in to our new offices in 2014, we quickly set up a temporary one-page website, initially only in Dutch. It lasted for 4 years and bursted out of its frames ever since, because… hmm … no priority, no time. A new site was like a running joke for a long time, until Laracon US 2018…

Read more

A new website for Spatie: backend highlights original

by Freek Van der Herten – 7 minute read

For the first time in 4 years we completely redesigned our company website. We launched it today. The site is a simple Laravel app with some technical niceties. True to form we also open sourced the app, you can find the code in this repo on GitHub. In this blogpost I'd like you to give you a tour…

Read more

A short introduction to laravel-event-projector original

by Freek Van der Herten – 1 minute read

The last few months I've been working on a package called laravel-event-projector. This package aims to be a simple and very pragmatic way to get started with event sourcing in Laravel. Ahead of it's release, which will happen in a few days, I've recorded a small video introduction. You can find the…

Read more

How to build a cookieless Laravel app

dieterstinglhamber.me

At Spatie We are currenlty building a new company website. One of the cool features is that it won't set a single cookie. In a new blogpost Dieter Stinglhamber explains how you can achieve this in Laravel.

Since May 25th you have been harassed by "We have updated our privacy policy" emails but also websites started to great you with "Please, let us and our 256 partners track you". In response to these abusive practices, some developers have decided to follow a better path, removing every cookie that is not needed.

Read more [dieterstinglhamber.me]

The open source department at Spatie is doing overtime original

by Freek Van der Herten – 3 minute read

Bad title because we don't do overtime at Spatie, but our team has been very busy putting out new open source stuff. In the past weeks our team has released three new packages. In this post I'd like to quickly introduce them too you. sheets First up is spatie/sheets, created by Sebastian. This…

Read more

Visual Regression Testing with Laravel

marcelpociot.de

Marcel Pociot, the mind behind BotMan, has released a cool package to create visual diff in your PHPUnit tests. Under the hood it uses our Browsershot package.

I'm not sure how you feel, but I consider myself a backend developer. Sure - I know my way around Vue.JS and really enjoy working with it, but writing CSS has never been my strong point. At one of our companies recent projects, we are working together with another development team, which is mostly taking care of frontend development. So we build controllers, repositories, services, etc. and hand it over to some basic views. They handle the rest. We introduced continuous integration to them and showed them our usual workflow, when I thought that it would be excellent to also have some kind of visual CI for frontend changes.

Read more [marcelpociot.de]

A package that makes event sourcing in Laravel a breeze ? original

by Freek Van der Herten – 11 minute read

In most applications you store the state of the application in the database. If something needs to be changed you simply update values in a table. When using event sourcing you'll take a different approach. All changes to application state are stored as a series of events. The key benefit here is…

Read more

A good issue

Sebastian De Deyne, package creator and JavaScript wizard at Spatie, gives some good tips on how to report an issue well.

Maintaining a number of open source projects comes with a number of issues. Reporting a good issue will result in a more engaged approach from project maintainers. Don't forget: there's a human behind every project.

https://sebastiandedeyne.com/posts/2018/a-good-issue

Read more

Improving the performance of spatie/laravel-permission

Barry van Veen recently fixed an interesting performance issue at our permissions package.

Recently I was investigating the performance of an application we have built at SWIS. To my surprise, one of the most excellent costly methods was part of the spatie/laravel-permission package. After reading some more it was clearly a performance issue that could be improved upon. Since the solution was already clearly outlined it was quite easy to code it and submit a pull request.

https://barryvanveen.nl/blog/46-improving-the-performance-of-spatie-laravel-permission

Read more