Hi there!

Welcome to the 145th freek.dev newsletter!
I hope you had a great start of the year!

A few days ago I saw some people tweeting that it's a good idea
to stick close to the default Laravel skeleton. In general I agree,
but it all comes down to what you define as "close". In this small
Twitter thread, you can some of my thoughts on this discussion.

Here are a couple of links of which I hope you'll enjoy that as much as I did.

Ignition, the most beautiful error page for Laravel and PHP, got a major redesign
I'm proud to share that our team has released a new major version of Ignition, the most beautiful error page for Laravel and PHP. It has been redesigned from the ground up. Here's how it looks like. This error page will be the default in Laravel 9. You can optionally install it into any Laravel 8 or…

A better error page for Symfony applications
Here's how you can use Ignition in Symfony apps.

Automatic human translations for Laravel apps with TranslateCI (sponsored link)
Are you hiring translators, working out of shared docs, or just not localizing your Laravel app?
You can set up TranslateCI in less than 10 minutes and automate your Laravel app translations forever.

A package to quickly send Slack alerts in a Laravel app
Our team has released a small package called spatie/laravel-slack-alerts. It can be used to send a message to Slack quickly.

Using Importmaps in Laravel
Tony Messias has ported a cool feature from Rails to Laravel.

Efficient Pagination Using Deferred Joins
A slight modification to traditional offset/limit pagination that can drastically boost performance.

Testing Laravel Environment Checks
Here's how Luke Downing goes about testing environment specific things.

Using Ray in WordPress Development: Callers and Stack Traces
Here's a cool post by Tom McFarlin how you can use Ray in WordPress to easily see a the callers of a function. This doesn't only work in WordPress but any Laravel and PHP app.

How I Got Pwned by My Cloud Costs
Troy Hunt recently got a very high bill for his severless hosting. In this post, he share why the bill was so high, and how he's avoiding this for future bills.

Implementing Parity Purchase Power
Here's how Wes Bos goes about adding PPP for his courses.

Recreating the GitHub UI with Tailwind
Here's Jess Archer showing how you can recreate the GitHub UI with Tailwind.

Streaming HTTP response in PHP - turn long-running process into realtime UI
Output Buffering is not so popular these days, but it is powerful. with simple vintage OB technique I made a real-time payment process UI

Simulate production in your Laravel tests
In this video, Michael steps a natural approache on how to test environment specific functionality.


Community links

In this section you'll find links submitted by others.
Let me know if you did write or stumbled across a blog post, tutorial or video that might be interesting to appear in this section


Automatically send mail notification when password changes (submitted by Ashish Dhamala)

How to Change Laravel's HTTP Client default behaviour (submitted by Tim Geisendörfer)

Saloon - Laravel/PHP framework for writing beautiful API integrations (submitted by Sam Carré)

A Detailed Guide to Implementing JWT Authentication in Laravel (submitted by Filip Josifovski)

Using wire:key and refreshing child components (troubleshooting Laravel Livewire) (submitted by Jonne Roelofs)

Print Component with Laravel Blade and AlpineJS (submitted by Mithicher Baro)

Only dd() what you need with laravel-dumper (submitted by Chris)

How to Publish Private NPM Packages With Github Package Registry (submitted by Filip Josifovski)


Old posts

Here are a couple of links from a while ago!

How to Use Cookies With AlpineJS

Multi-server Atomic Laravel Deployments with GitHub Actions

Why Is Apple’s M1 Chip So Fast?

Generating unique, random-looking voucher codes

CORS Visualized

5 Simple Laravel Tips and Tricks

Some notes on slow queues and Redis over TLS

Functional Programming is not weird: you just need some new patterns

A mail driver to quickly preview mail in Laravel apps

Contract Tests

📺 Watch Laravel Worldwide Meetup #5: Hotwire in Laravel & Single DB multi-tenancy

Simplifying service providers in Laravel packages

Configuration precedence when testing Laravel

A storm in a glass of water

A pragmatic introduction to event sourcing

Finding Slow Tests in PHPUnit 9



Did you like this newsletter?

I take a lot of time curating the right links for you. You could do me a favor by either spreading the word and letting others know about my newsletter.

Alternatively you could consider picking up one of the paid products my team and I have worked on:

All spatie products
Oh Dear
Flare

For each of the above you can use this coupon code to get a discount:
DISCOUNT-FOR-FREEK-DEV-READERS

If you have any questions, remarks or thoughts about this newsletter, simply hit reply!
Thank you so much for reading!




Freek

You are receiving this newsletter because you subscribed at https://freek.dev
Unsubcribe from this newsletter
This mail was sent using Mailcoach