Reading the last character of a string has been $s[strlen($s) – 1] for two decades, which computes the length to throw it away and reads badly next to…
Shaping a model for JSON has meant a transformer library or toArray() on the model, and the second couples the wire format to the database columns — so…
const has accepted arrays since 5.6, but define() had not — which mattered because const cannot be used conditionally or inside a function, so anything computed at bootstrap…
A deep component importing a helper writes ../../../lib/money, and the path breaks the moment the file moves — which makes reorganising a tree a mechanical exercise in fixing…
The reporting code had one caller and a six-hour test run. Finding the seam, dealing with the shared schema honestly, and routing traffic gradually rather than switching.