Tag
PHP
Every article on PHP, newest first.
- 65Articles
- 637 minOf reading
- 6Subjects
What Actually Constrains a Coding Agent
I had fifteen agents build the same Laravel and Slim API. Written decisions mattered most, the framework second, PSRs barely at all, and Laravel already ships the first.
Sending And Receiving Webhooks In Laravel
A webhook is a contract between two codebases that never meet. Both ends of it in plain Laravel: what to sign, how long to retry, and how the receiver avoids doing the work twice.
Building a home-education platform with Laravel 13, Inertia and React, and shipping it to Laravel Cloud
A Laravel 13, Inertia and React platform for home educating my son: an append-only learning record, a planner, AI kept on a short lead, and what Laravel Cloud asked of the code.
The UK is mandating e-invoicing in 2029, and your invoicing code is not ready
From 2029 every UK VAT invoice has to be structured data that passes about eleven hundred rules. What that means for the invoices table you already have, and the four fields that break first.
Digital sovereignty is written in PHP, and the UK just made it fundable
The PHP Foundation made the case for funding upstream maintenance through procurement. Their proposals are written against EU rules. The UK deleted the clause that was blocking them.
The Second Pattern: The Ones I Left Out
Five patterns I know well, that come up constantly, and would not reach for in PHP. Not because they are bad ideas, but because of what the runtime does and does not give you.
The Second Pattern: Blackboard
A pipeline works until one step both needs and improves the same piece of information. That is a cycle, and a topological sort has exactly one contract: there are no cycles.
The Second Pattern: Event-Carried State Transfer
A consumer that receives an ID and immediately asks you for the record has not been decoupled from you. It has been given a slightly slower way to call your API.
The Second Pattern: Process Manager
Everyone calls it a Saga. Most of the time it is a Process Manager, and the muddle is why teams adopt the word and then never write the compensations it never promised them.
The Second Pattern: Bulkhead
Carrier B did not go down, it got slow, and every worker sat inside an eleven second call that returned a valid 200. Circuit breakers ask the wrong question about that.
The Second Pattern: Claim Check
A payload that is 40KB almost always and 12MB occasionally cannot be sized for. Making it smaller is not the fix, because the problem is the channel it is moving through.
The Second Pattern: Idempotent Receiver
Select then insert handles the easy half of duplicate delivery and misses the concurrent case, which is the half that actually fires. This time the framework has already done it properly.