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.

Streaming a large export as a CSV file to the browser original

by Freek Van der Herten – 3 minute read

A while ago, I created an easy to use framework agnostic PHP package to read and write CSV and Excel files called spatie/simple-excel. Behind the scenes, generators are used to ensure low memory usage, even when working with large files. Today I added a method that allows you to stream CSV files to the browser. In this small blog post, I'd like to demonstrate how you can use it.

Read more

PHP 7.4 FFI: What you need to know

– jolicode.com

FFI lets you include external libraries written in other programming languagues in your PHP code.

PHP Foreign Function Interface, or FFI for fans, is a PHP extension that allows you to include with ease some externals libraries into your PHP code. That means it’s possible to use C, Go, Rust, etc. shared library directly in PHP without writing a PHP Extension in C. This concept exists for years in other languages like Python or Go.

Read more [jolicode.com]

What's new in PHP 7.4

– stitcher.io

PHP 7.4 will probably be released this week. My colleague Brent wrote a good post on all the shiney new things this release brings.

PHP 7.4, the latest version before PHP 8, brings lots of new features, syntax additions and fixes. We need to wait a little longer though: PHP 7.4 will be released on November 28, 2019. In this post you'll find a list with everything that's new and changed to help you prepare for the upgrade.

Read more [stitcher.io]

My Alfred workflows original

by Freek Van der Herten – 2 minute read

Alfred is a fantastic tool for macOS that allows you to be more productive. The app allows you to install workflows to make it more powerful. In this short blog post, I'd like to share the workflows that I have installed.

Read more

Sending a welcome notification to new users of a Laravel app original

by Freek Van der Herten – 7 minute read

My team and I currently building Mailcoach, a solution to self-host newsletters and email campaigns. In Mailcoach you can create new users to use the app.

How should these new users be onboarded? The easy way out would be to send these new users a default password reset notification to those users, but that isn't a good first experience. The default auth scaffold by Laravel doesn't help us here: it only contains functionality to log in and to let users register themselves.

To onboard new users created by other users, I've created a package called laravel-welcome-notification which can send a welcome notification to new users that allows them to set an initial password.

In this blogpost I'd like to explain how you can use the package).

Read more

Creating custom relations in Laravel

– stitcher.io

My colleague Brent solved a performance by creating a custom relation

One last solution that came to mind was to load all people, all contracts, and map them together manually. In the end that's exactly what I ended up doing, though I did it in the cleanest possible way: using custom relations.

Read more [stitcher.io]