Each instruction produces a layer, and a layer is reused only if every instruction before it is unchanged. Copying the whole application before installing dependencies invalidates the dependency…
jQuery has had $.Deferred since long before the platform had promises, and it is close enough to look interchangeable. It is not: prior to 3.0 a jQuery Deferred…
Every WP_Query runs a second query to count the total number of matching rows, so that pagination can be rendered. If the query is powering a sidebar widget…
A PHP warning does not stop execution. file_get_contents() on a missing file warns and returns false, and the code carries on with false where a string was expected…
Unpacking a few fields out of an options object is three or four lines of near-identical assignment at the top of every function. Destructuring does it in the…
The obvious reading of finally is “runs after the try block finishes”. The useful reading is stronger: it runs on the way out no matter how you leave,…
Two days lost to PHP extension mismatches. A container per service, what the shared-folder performance problem costs on a VM, and whether it was worth it.
A fatal error is not an exception and cannot be caught. In 5.6 that includes calling a method on null and exhausting memory_limit — the request dies, the…