The case for route attributes
I've been thinking about route attributes lately. By doing so, I came to realise that I've got a somewhat strange relation with annotations a.k.a. attributes. Over the years, I've...
Oct 27th 2021 stitcher.io

Faking HTTP requests in Laravel
Have you ever had to write an API integration from scratch? Where you're managing the HTTP calls yourself instead of being able to rely on third-party packages? You might...
Oct 25th 2021 freek.dev

Three types of mocks
Mocking, faking; these might sound like intimidating words if you don't know what they are about, but once you do, you'll be able to improve your testing skills significantly. Part...
Oct 21st 2021 freek.dev

A Laravel package to crawl and index content of your sites
The newly released spatie/laravel-site-search package can crawl and index the content of one or more sites. You can think of it as a private Google search for your sites....
Oct 19th 2021 freek.dev

Using Factory sequences in Laravel
One of the things I really like about modern Laravel projects, are the new model factories introduced in Laravel 8. When writing complex tests, you often need quite a...
Oct 18th 2021 freek.dev

Replacing Keytar with Electron's safeStorage in Ray
Ray is an app we built at Spatie to make debugging your applications easier and faster. Being web developers, we naturally decided to write this app in Electron, which...
Oct 18th 2021 freek.dev

Making 1Password understand where your change password page is located
A few days ago, a new version of 1Password was released that is able to detect where a user can reset his or her password. This is how it...
Oct 15th 2021 freek.dev

Asserting valid and invalid requests in Laravel
Testing a Laravel project is one of the most pleasant experiences I've ever had: there's a clean testing API, a very powerful layer added on top of testing frameworks; all...
Oct 12th 2021 freek.dev

PHP 8.1: new in initializers
PHP 8.1 adds a feature that might seem like a small detail, but one that I think will have a significant day-by-day impact on many people. So what's this "new...
Oct 9th 2021 stitcher.io

PHP 8.1: new in initializers
PHP 8.1 adds a feature that might seem like a small detail, but one that I think will have a significant day-by-day impact on many people. So what's this "new...
Oct 9th 2021 stitcher.io