A class named for a noun, containing three methods that share no state and call nothing in common. A class whose methods share no dependencies is a namespace…
A Subscription that had been correctly scoped in 2023 and had acquired a usage counter written thousands of times a day. An aggregate boundary is correct at a…
Exposing an array property publicly for reading felt unsafe until the copy semantics were the point rather than an accident. PHP arrays are values, so reading one gives…
A deprecated class constant emitting a notice on every use, into a channel that had been discarding notices since a configuration change in March. The same mistake as…
A trait providing a logger to eleven classes, each of which called a static accessor to get one. The trait was hiding a service locator behind a method…
Deprecating a method had been a docblock tag that only an IDE respected, and 8.4 makes it something the engine reports. It works on functions, methods, constants and…