Sending a webhook or writing an analytics row after the page has rendered still holds the connection open, because PHP does not close it until the script ends.…
The April LTS changes two things at the same time, and either one alone would be a migration. service still works because systemd ships a compatibility shim, which…
Testing a class that takes an interface usually means either a mocking framework or a small stub class in its own file, which then lives forever and is…
get_option() returns false when the option does not exist, and also when it exists and holds false. Any setting that can legitimately be off is therefore indistinguishable from…
Checking what a relation actually returns usually means writing a throwaway route, hitting it, and deleting it — or adding a dd() somewhere and reloading. Both are slower…
The shared-folder problem that nearly killed this last year is gone. What changes in the compose file, what the new file sharing costs, and where Linux and Mac…
PHP 7 made variable-variable expressions evaluate consistently left to right. That is an improvement and it silently changed the meaning of expressions that had been working for a…
The container resolves concrete classes automatically, which is convenient enough that most code type-hints the concrete class and the abstraction never happens. Contextual binding is the part worth…