Laravel API versioning is a decision you make once and live with for years, because the first time you rename a field or change a response shape, every client you don't control breaks at the same moment. Part 1 covered routing basics, Part 2 model binding, Part 3 middleware, and Part 4 route…
Laravel shipped a first-party AI SDK, an MCP toolkit, official agent skills and a skills directory — and community packages (RAG kits, evals, agent loops) are popping up everywhere. But they're scattered across GitHub, blog posts and Discord messages. So I put together awesome-laravel-ai : one…
Laravel route caching is one of the standard deploy optimizations, and one of the few that can break a site without a single error in your logs: a new page that returns 404 only in production, a deploy that fails halfway at route:cache , or routes that quietly disappear because they were built for…
Building a Laravel CRUD API: Menu Categories for Django Developers As a Django developer learning Laravel, one of the first things I wanted to understand was how Laravel handles CRUD APIs. In Django REST Framework, I would normally use a model, serializer, ViewSet, and router. Laravel has similar…
A list of cases, tasks or properties is not a table, as each record reads as a card, and forcing it into columns leaves gaps and odd widths. Wirelist draws those lists. Records as divided rows, separate cards or a grid, each one opening its record, with a row actions menu, load more and the 11…
The Feature Over 10k subscribed users are paying to have updates to contact lists in a CRM application. In a time interval set between each day and every 7 days, we will push updated and new contacts from our lead sourcing to the CRM.\ These datasets are on average in the hundreds of contacts per…
Telegram bots that receive updates via webhook need to be both secure and idempotent. A lead‑generation Mini App, for example, sends a JSON payload with the user’s contact details to your Laravel endpoint. If you accept the request blindly, an attacker can replay the same update or forge a request…
We build BytePhase , repair shop management software used by 2,000+ repair businesses in 32+ countries. Every customer account gets its own database . Here's what that choice taught us. None of it is exotic, but most of it we learned the hard way. The setup Laravel + stancl/tenancy…
Every API-backed Laravel app we built needed sign-in, and the hand-written version kept having the same small gaps: a login error that told you whether an email was registered, a password reset that left old sessions alive, a two-factor step a client could skip. Each one is minor. Together they are…
Table packages for Livewire usually define the columns in PHP arrays, which is comfortable until one cell needs something the configuration did not plan for. Wiretables goes the other way: you write the table in Blade, cell by cell, and the package brings the pieces, their look and the behaviour…