Hi there!
Welcome to the 191st freek.dev newsletter!
Here are a couple of links I hope you'll enjoy as much as I did.
⭐ SQL performance improvements: finding the right queries to fix
At Oh Dear, my colleague Mattias recently vastly increased the performance of our service. Here's how he did it.
⭐Automatically fix production and performance problems in PHP and Laravel projects using AI
You can now use our MCP server to connect your AI agent to Flare. This way your AI has all context it needs to diagnose and fix production and performance problems of your PHP, JavaScript and Laravel projects.
In this blog post I’d like to tell you how you can use it, and how it works under the hood.
Sevalla is the all-in-one PaaS for your web projects (sponsored link)
Host and deploy your applications, databases, object storage, and static sites. Enjoy advanced deployment pipelines, a complete database studio, instant preview apps, and one-click templates. The pricing is simple: no hidden fees, no seat-based pricing, and you pay only for what you use.
⭐Exploring our new PHP SDK, built using Saloon
I've recently rebuilt the SDK for Oh Dear, and thanks to Saloon I had a great time downing so.
No more down migrations
Database migrations have had a serious refactor in the newest Tempest release
Creating type-safe configs in Laravel
This is a great way of handling config values.
Inside the Laravel Service Container
Explore Laravel’s Service Container from the ground up: resolution, binding, scopes, contextual dependencies, auto-wiring, and more, and demystify how your app runs.
Laravel Notifications: dynamic channels, priority, and delayed sending
Laravel Notifications are one of my favourite parts of the framework.
Welcome to the State Machine Pattern
Learn what the State Machine Pattern is and how to apply it in your PHP applications with this in-depth article about it
Deferring Events Including Model Events in Laravel
Utilize deferred events in Laravel to delay event dispatching, including model events, ensuring listeners run only after a specific closure has finished running.
Let AI Interact with Your App via MCP
We’ve moved from command lines to GUIs, and now the next shift is here: AI that can actually use your app. This article introduces the Model Context Protocol (MCP), a powerful way to let AI interact directly with your applications—and why it’s more than just another tech acronym.
How the Model Context Protocol works?
MCP is not a hosted service, a replacement for app logic, or a fix for hallucinations. It is a protocol that provides access to real tools and data, and still requires good prompts and UX
npm ci vs npm install
A quick guide to the differences between npm ci and npm install.
PSR-20 Clocks: Testable Time in PHP
Learn how a ClockInterface helps you decouple time and write stable, testable code. It's about time!
Max MRR: Your growth ceiling
Your company will stop growing sooner than you think. The “Max MRR” metric predicts revenue plateaus based on churn and new revenue.
Developer Tooling #006 (submitted by Patrick)
Here's Patrick's monthly dose of handy CLI tools.
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
Laravel Starter Kits List: Official and Community (submitted by Nabil Hassen)
Laravel Core Dev Tries Next.js for the FIRST Time (submitted by Nuno Maduro)
Fetching Favicons using the DuckDuckGo Icons API in Laravel (submitted by Ash Allen)
Build APIs for Humans & AI Agents via MCP (submitted by Lupacescu Eduard)
Revert Laravel installations to the original v5 skeleton (submitted by Muhammed Sari)
The Rise of Hybrid PHP: Blending PHP with Go and Rust (submitted by yeknava)
Enforcing Strict Validation Rules in Laravel (submitted by Nabil Hassen)
Redactable Models v1.0 is Now Available! (submitted by Ash Allen)
Laravel: whereBetween vs whereValueBetween vs whereBetweenColumns (submitted by Nabil Hassen)
A Guide to Serialization in PHP (submitted by Ash Allen)
Session Cache in Laravel 12.29 (submitted by Nabil Hassen)
The New WhereValueBetween in Laravel | How to | Tutorial | Quick Win Wednesday #QWW (submitted by Bert De Swaef)
Mastering Toast Alerts in Inertia.js with Vue 3 (submitted by Krishna Bhandari)
Old posts
Here are a couple of links from a while ago!
Adding real-time chat in 14 lines of code with Laravel Reverb and Livewire
Reasons you don't need a modal
Deferring tasks with Laravel's defer() helper
Top 10 PHP Features You Can Use in 2024
Ray's architecture: how we structure an Electron app
Container attributes in Laravel
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
|