How a Timeout Can Charge Your Customer Twice (And How to Stop It in Laravel)
A customer attempts a payment. The request safely reaches your server, and the transaction is performed successfully. Then, while the response is be…
Tech news from the best sources
A customer attempts a payment. The request safely reaches your server, and the transaction is performed successfully. Then, while the response is be…
Welcome back. This is the next article in our practical use of patterns in Laravel, and in this guide, we are going to talk about one of the most po…
Fifteen real Laravel applications, every one of them a codebase you can go and read. 811 tables. One pinned MySQL 8.0 database, migrations only, no…
Database migrations are one of those things that often look harmless during code review. A migration may contain only a few lines of SQL, the applic…
Hello world, it's Wednesday, August 26, 2026, and here's what happened This Week in PHP Internals. 10 stories this week, so let's get into it. But f…
Creating a call to an AI model is the easy part. A request, a JSON body, a content field on the way back. If that were the work, nobody would need a…
If you are testing AI agents in Laravel, there are now two packages with "evals" in the description, and the obvious question is whether you need bo…
Why do developers compare PHP and Node.js? (Spoiler: One is a language, the other is a magician’s hat) And why most people don’t actually know what…
If you are building API-driven applications, nothing clutters up your controllers faster than manually typing out response()->json(...) arrays ev…
I Started Building a Discord Server Directory I’ve spent a lot of time around Discord communities, and one thing has always bothered me. Finding a g…
OpenLiteSpeed is a free, open-source, high-performance web server with HTTP/2 and HTTP/3 support, native PHP handling, and a graphical admin console…
In the space of a month I was asked three questions that looked completely unrelated: Can search work on a site translated with TranslatePress, wher…
You followed the step-by-step WP-CLI procedure from W4 , the terminal printed "Success: Core updated successfully," and the session is over. Stoppin…
I recently ran into a weird issue while working on a Laravel project on Windows using Laragon . Everything was working fine until I tried to import…
I am building a small chat feature for an HR system. Shared hosting, PHP, no WebSocket, polling every few seconds. Nothing exotic. Then a bug report…
CakeDC/Users gives you TOTP two-factor authentication almost for free: flip one config key and every login grows a "enter your 6-digit code" step. T…
A module hook that returns an empty string looks exactly like a module hook that was never called. PrestaShop gives you nothing to tell them apart:…
I maintain a small library of standalone components: no npm, no bundler, no framework. Each one is a single file that encapsulates its own CSS (and…
If your app sells an allowance, a number of credits a month, or a number of documents, or a number of anything. Whatever it is, you end up writing a…
Bring-your-own-key, not another subscription Every few months another "all AI models in one place" product shows up, and almost all of them work the…
A personal blog sounds like a simple Laravel project. Create posts, show them on the homepage, and you are done. But once you start adding search, c…
Two canonical tags on the same page. WordPress settings look correct. So why is the live HTML different? If you manage WordPress sites for clients,…
A WhatsApp button on a shop was dialling the wrong number. Not a formatting problem — a genuinely different number, three digits short of the one in…
WordPress is often treated as a traditional CMS, but its REST API makes it possible to use WordPress as the backend for applications, dashboards, mo…
There is a concurrency problem in APIs that is easy to miss. Two clients read the same resource: Client A -> GET /documents/42 Client B -> GET…
I recently released a small open-source Symfony bundle called MaskedBundle . The reason for building it was quite simple: logs are useful, but somet…
Lessons Laravel Developers Should Learn from the laravel-lang Attack On 22–23 May 2026, four packages in the laravel-lang organization — laravel-lan…
When building an appointment scheduling system, one of the problems that looks simple at first is: «“Find the available time slots for a doctor.”» B…
Archival repost — originally published on my old blog on January 18, 2009. Lightly cleaned up for dev.to (translated from French; I also dropped my…
A comment on my last article was better than the article. The subject was single-database multi-tenancy, and @to21as argued that the predicate shoul…