An off-canvas menu animated with left stutters on a phone and the same menu animated with transform does not. The usual explanation — “it uses the GPU” —…
PSR-4 resolves a class by turning its namespace into a path, which requires the code to have namespaces and for the directory layout to agree with them. A…
woocommerce_thankyou reads like a completion event and is a page-render hook. The order-received page has an ordinary URL with the order key in it, so it is bookmarked,…
Testing code that reads and writes files usually ends in a tests/tmp directory, a setUp that creates it, a tearDown that recursively deletes it, and a suite that…
A floated child does not contribute to its parent’s height, so the parent collapses and the next block slides up underneath it. The usual fix is an empty…
Expiry in Redis is metadata attached to a key rather than an argument of the write, which is the opposite of the memcached-style API most people arrive from.…
Everything under require is installed everywhere the project is installed, servers included. PHPUnit and the packages behind it are several dozen dependencies of code with no business existing…
The migrations table records a batch number rather than a position, and migrate:rollback unwinds the highest batch — which is every migration that ran in the last migrate…
Moving an application from Apache to nginx usually starts with someone trying to convert thirty lines of .htaccess rule by rule. Most of it does not need converting:…