A with method whose return value was discarded, which is the one mistake PSR-7 makes easy. An immutable interface with fluent setters produces exactly this, and the discarded…
8.4 lazy objects, applied to a service whose constructor opens a connection and which fires on 3% of requests. This replaces a hand-written proxy class that existed only…
Four decorators around an HTTP client, composed in an order that is obvious once and unrecoverable afterwards. Signing inside retry is mandatory — a retried request needs a…
A job constructed with a model, serialised, and executed against a row that had changed in the intervening four minutes. Framework model serialisation re-fetches by identifier, which is…
A readonly value object that wanted a lazily computed cache, which is exactly what readonly forbids and is usually a signal. The wrapper is the textbook answer and…
Eleven exception classes, all extending one application root, and no intermediate types — which turned out to be right. An intermediate class exists so a caller can catch…
A new PSR-4 root added to composer.json, and an authoritative classmap that had to be regenerated and was not. An authoritative classmap turns a missing entry into a…