Skip to main content
WritingSpeakingCodeAboutNow
Tag Archive

Articles Tagged: php

Technical writings, opinionated architectures, and development guides tagged with php.

Articles61
Est. Read Time578 mins
Categories6
Featured1
Sept 202610 min read
PHP & Laravel

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.

Sept 20268 min read
Notes

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.

Sept 202612 min read
Architecture

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.

Sept 202612 min read
Architecture

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.

Sept 202612 min read
Architecture

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.

Sept 202614 min read
Architecture

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.

Sept 202613 min read
Architecture

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.

Aug 202612 min read
Architecture

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.

Aug 202611 min read
Architecture

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.

Aug 202615 min read
Architecture

The Second Pattern: Transactional Outbox

Commit then notify loses messages. Notify then commit sends lies. The dual write problem has no clever solution, and Tempest ships more of the machinery than it advertises.

Aug 202612 min read
Architecture

The Second Pattern: Anti-Corruption Layer

Carrier B speaks GraphQL, so the response arrives shaped like your query and feels like it belongs to you. It does not, and their vocabulary is now load-bearing in your domain.

Aug 202615 min read
Architecture

The Second Pattern: Specification

Nine optional parameters is the symptom. The problem is a business rule that has to run in SQL and in memory, written twice and quietly drifting apart.