View e-mail in browser

newsletter #82

Hi, welcome to the 82th newsletter!

Simplifying controllers
In this blog post, I'd like to highlight two tips to make controllers in Laravel feel much lighter. 

Video: getting started with event sourcing in Laravel
The last few months I gave a talk on how to get started with event sourcing at several conferences and user groups. I took the time to record the talk so you can enjoy it from the comfort of your home or office.

When to use Gate::after in Laravel
In a Laravel app policies are a great way to organize authorization logic that revolves around models. For the longest time, I've been using Gate::before. Turns our Gate::after is often more usefull.

Implementing event sourcing: aggregates
This blogpost explains how aggregates work on the hood. There's suprisingly little code involved to make this powerful concept work.

Implementing event sourcing: improving the developer experience
After releasing laravel-event-projector v2, we kept on polishing and replaced some configuration with magic.

Tickets for Full Stack Europe are available now (sponsored link)
Together with my buddy Dries Vints I'm organising a conference in Antwerp, Belgium. We already announced a couple of names on our site. Early bird tickets are available now! 

New in PHP 7.4
Brent lists the goodies coming to PHP 7.4, which will be released in december. 

Short closures in PHP
In another blogpost Brent zooms in on short closures.

Testing Streamed Responses in Laravel
Over at Laravel News, Paul Redmond published a good way to test streamed responses.

Why I prefer React over Vue
My colleague Seb gives some good reasons why he personally likes working with React over Vue.

Rethinking reactivity
In this talk given at the You Gotta Love Frontend conference, Richard Harris gives an intro to Svelte JavaScript framework he created.

Optimizing JavaScript packages for tree shaking
In a new post at the madewithlove blog, Geoffrey Dhuyvetters explains how you can organize your code so a bundler can make it as small as possible.

This PDF contains JavaScript
Here's a PDF, made by Ryan Grove, that executes JavaScript when you open it in Chrome.

I forgot how to manage a server
When you don't use specific knowledge or skills, you may find that, eventually, you just forget said knowledge or skill.

Meanwhile on Twitter

On Twitter I see a bunch of people regularly tweeting very nice code snippets.

A small trait to run use progression bars in Artisan commands

Using the details/summary tags in Html

Execute Eloquent methods without firing events

Useful links from the archives

Automatically close stale issues and pull requests
Here's how we handle stale issues and PRs at spatie

Make a clear distinction between different layers of validation
In an older, but still very interesting article, Mattias Verraes has some interesting thoughts on form, command and model validation.

Array destructuring in PHP
Frank de Jonge, author of the great EventSauce and Flysytem packages, wrote a blopost on how to use array destructuring in PHP.

The Future of Programming
Here's an amazing talk by "Uncle" Bob Martin where he gives an amazing overview of the history of programming and where he thinks it's going.

Registering macro's in Laravel using a mixin
Rachid Laasri explains how to easily register multiple macros at once using the mixin function present on the Macroable trait.

Improving the performance of spatie/laravel-permission
Barry van Veen recently fixed an interesting performance issue at our permissions package.

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

Advertisement opportunities at

You are receiving this mail because you've subscribed at