Hi there!
Welcome to the 161st freek.dev newsletter!
Here are a couple of links I hope you'll enjoy as much as I did.
⭐ Using Laravel Sanctum to create dynamic abilities
In Oh Dear, we recently added the ability to create fine-grained API tokens that are scoped by a model. Behind the scenes, it uses Laravel Sanctum to create and verify abilities. In this blog post, I'd like to give you a peek behind the scenes and show how we set this up.
⭐ A package to integrate HelpSpace in your Laravel app
This one makes it easy to populate a custom sidebar in HelpSpace with the data from your Laravel app.
⭐ Creating an onboarding email drip campaign using Mailcoach
One way to teach your audience the features you offer is by creating a drip campaign about all the features your platform offers.
⭐ Lighthouse SEO monitoring is now available at Oh Dear
I'm very proud that we have added a new check to Oh Dear.
Write cleaner queries by using Laravel's whereRelation method
Bert shows us a hidden Laravel gem!
Request Level Validation
Did you know it's possible to use Laravel's validation tools even when you're validating a part of your request that wasn't provided by the user? In our latest post, Andrew Morgan shares four approaches to validating the "other" bits of your requests.
How to secure model ID’s in Livewire and why this is important
One caveat in Livewire (version 1 and 2) is that only public properties remain state between Livewire interactions. This shouldn’t be a problem, at least not if you’re aware of how a potential hacker would abuse this.
Locality of Behavior
The LoB principle dictates that the behavior of a unit of code should be as obvious as possible by looking only at that unit of code. But I think something is missing from this discussion.
You might not need a repository in Laravel: 3 alternatives
We will crack the controversy of the repository pattern in Laravel. The good and the bad, and what alternatives we can use to build a maintainable codebase.
Easy, alternative soft deletion: deleted_record_insert
Here's a strategy for soft deletes where you move data to another table instead of leaving it in-place.
Overcoming Imposter Syndrome as a Programmer
Learn about imposter syndrome, its causes and how to combat it in the field of programming.
Disabling Composer's script process timeout
A quick way of disabling Composer's default script process timeout of 300 seconds (5 minutes). Easy to overlook in the docs.
Local Environment Seeders in Laravel
This makes not just testing the UI of an app easier, but also makes onboarding new developers to a project simpler.
Writing a Static Analyser for PHP in Rust - Overview
A new series on writing a static analyser for PHP in Rust.
Intro to Terminable Middleware
Tighten programmer Alison shares an intro to terminable middleware in Laravel. This type of middleware does work after the HTTP response is sent to the browser. Learn when to use it, and a some gotchas.
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
Introduction to Laravel Facades (submitted by Elisha Ukpong)
Porter (submitted by Philo)
ExpressCode Beta (submitted by Patrick)
Introducing Fleet - Run multiple Laravel Sail applications at once (submitted by Andrew Schmelyun)
Cloudflare purging page cache with Laravel & Statamic (submitted by Adithya)
Allowing users to send emails with their own SMTP settings in Laravel 9 (submitted by Geni Jaho)
collect.js: A Laravel-Like Syntax for JavaScript Arrays (submitted by Ash Allen)
Writing a Static Analyser for PHP in Rust - Definitions (submitted by Ryan Chandler)
How to build a Public API with Laravel | Tutorial (submitted by Bert De Swaef)
What If Two Or More Traits You Are Using Have The Same Method (submitted by Ashish Dhamala)
Spatie Image Optimizer Health Check (submitted by Lloric Mayuga Garcia)
Don’t ever use Promise.all() (submitted by Chrysanthos)
Development Driven Testing (submitted by Geni Jaho)
Using single actions controllers in Laravel (submitted by Andrew Schmelyun)
Laravel logging: Show correct severity levels on the Google Cloud Platform (submitted by Jonas Siewertsen)
Build a Chat Room using TALL Stack and WebSockets (submitted by Chris Mellor)
Statamic: Find & Replace in Bard (submitted by Adithya)
Laravel Exchange Rates v6 released (submitted by Ash Allen)
Laravel OpenAI Moderation Rule (submitted by Ricardo Čerljenko)
Laravel Exchange Rates v6.1.0 released (submitted by Ash Allen)
Using Laravel Valet proxy command with Laravel Sail and Vite (submitted by Günther Debrauwer)
Tired of Writing Image Upload Code ? Create this Reusable Service In Laravel . (submitted by CODE AXION)
Build Laravel apps even faster with the Jetstream Starter Kit for Laravel Splade (submitted by Pascal Baljet)
Old posts
Here are a couple of links from a while ago!
Invading private properties and methods in PHP
DevToys for Mac
React Hooks for Beginners: Managing State
The Laracon Summer 2021 videos have been released.
Automate keeping your environment files in sync.
A package to automatically discover routes in a Laravel app
What's new in Laravel 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:
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 freek.dev
Unsubscribe from this newsletter
This mail was sent using Mailcoach
|