Hi there!

Welcome to the 138th freek.dev newsletter!

You'll notice that this newsletter is written plain text. This is no accident.
I think that most people actually enjoy a non-HTML mail. Somehow, this also feels
a bit more personal to me.

Also, open en click tracking are now disabled. If used open tracking to let sponsors of
this newsletter know what the open rate of the newsletter is. Personally, I don't care
about open rate too much for this newsletter. I'm not trying to sell something, I simply
want to share knowledge.

Previously, I used click tracking to know what kind of content you are interested in. It's
very clear that most of you like technical PHP content the best, and I'll try to always include a
couple of links to that kind of blog posts.

I hope that you like these changes. Let me know what you think of this, by simply replying to this mail.
I do hope you'll enjoy this newsletter.


Announcing x-ray for Ray
Using this package, you can quickly scan source code for calls to Ray

I changed my mind about Tailwind CSS
When did you last changed your opinion on something technical?

Mistakes I've made in AWS
Here's a collection of the most commonly missed things when using AWS with Laravel Forge!

Building a PHPUnit to Pest Converter in a week
Jason McCreary explains why and how he created his cool Pest converter

Strategies for decreasing the number of queries in a Laravel app
Oh Dear is all-in-one solution to monitor your site that my buddy Mattias Geniar and I have created. It can monitoring uptime, certificates, broken links, scheduled jobs, and much more.Under the hood, Oh Dear is a large Laravel application that performs many queries all of the time. To power futureā€¦

Linking to Flare errors on your error page
We've launched a new feature that will make it easier for users of your app to report specific errors.

Fun with PHPUnit Data Providers
Data providers are a PHPUnit feature (and many testing frameworks have an equivalent) that lets you run a single test method multiple times but with different data. Larry Garflied shows some cool things you can do with them.

Monitoring Laravel Vapor metrics with Grafana Cloud
Once configured, you can see all of the metrics you need to ensure your Vapor app is healthy on one screen.

A free Alpine.js video course
In this entirely free video course, you'll learn how to use Alpine.js, a minimal JS framework that I'm using myself on a couple of projects

Source diving Pest Parallel Testing
In this stream, Luke Downing shows us around in the source code of Pest parallel plugin he created.

Glowing Background Gradient Effects with Tailwind CSS
Yet another nice video by Simon on cool things you can do with Tailwind.

Generics in PHP using PHPDocs
Generics are available since PHPStan 0.12. This posts explain what they’re all about.

How to Use a Custom Encryption Key for Encrypted Cast Model Attributes in Laravel
Laravel allows you to cast model attributes as encrypted strings1, when stored in the database. This gives you added security for any values that are sensitive (such as Personally identifiable information, PII), including complex structures such as arrays, collections, and even objects.


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


Cagilo - Blade components for each project (submitted by Alexandr Chernyaev)

New In Laravel 8.60.0 - A New whereMorphedTo Method To Get Morphed Relationship Data (submitted by Ashish Dhamala)

How to use Symfony Mailer without the Symfony framework (submitted by Doeke Norg)

How to Add Color Picker Field to Laravel Nova (submitted by Sir Src)

Testing Blade components in Laravel (submitted by David Carr)

Advanced Pest setup (submitted by Jeroen van Rensen)

I'm recording the complete Laravel documentation as video screencasts, and you can join the process of building this platform. (submitted by Pascal Baljet)

Laravel Livewire update dependent select menu's on change (submitted by David Carr)


Old posts

Here are a couple of links from a while ago!

Running GitHub Actions for Certain Commit Messages

The PHP Community Synergy Initiative

Light colour schemes are better, based on science

Typing your frontend from the backend

Why and how you should monitor scheduled tasks

How to delete 900 million records in MySQL without shooting yourself in the foot

Moving 27K unique images from Spatie medialibrary local to s3 storage using Laravel Queue

How to call an overridden trait function

Contributing to an open source PHP package

Super Mario Bros. 3 in 3 minutes - World Record Speedrun Explained

Nested States in Laravel 8 Database Factories

Don't trust default timeouts

Automating the Laravel 8 schema dump using GitHub Actions

Making Time Make Sense in JavaScript

Unconventional Laravel: Custom Pipeline Classes



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