Before 5.6, a constant or a default parameter value had to be a literal. Anything computed — even multiplying two numbers you had already defined — was a…
The grid works by putting negative margins on .row to cancel the padding on .col-*. Nesting columns directly inside a column skips that cancellation, and the inner content…
A repository wrapping a single ORM, forwarding find to find, is indirection with nothing behind it — the abstraction has one implementation and will never have another, and…
Collecting a variable number of arguments used to mean func_get_args(), which hides the signature from anyone reading the function and from every IDE. 5.6 gives the language a…
Binding a handler directly to elements binds it to the elements that exist at that moment. Replace the list through Ajax and every handler goes with the old…
In multisite, switch_to_blog() repoints the database tables and the uploads path. It does not reload the other site’s active plugins, its theme, or anything a plugin cached in…
indexOf only works when you already have the value you are looking for. Finding the first element matching a predicate has meant either a filter() that builds a…