Closed justinmaurerdotdev closed 2 months ago
Ouch, I wonder if strlen()
changes also kill plans in #1312 :(
Hmm, yeah. If it is being used to filter null values, then it likely will cause the same problem. The two refactoring options, as far as I can tell are:
array_filter()
preceding the existing one to filter null values I think Option 1 wins both for performance (Option 2 re-iterating the whole array) and presentation. There's no native is_not_null
function. If there were, Option 2 would at least win on aesthetics:
$exclude_rules = array_filter($exclude, 'is_not_null' );
$exclude_rules = array_filter($exclude, 'strlen' );
In reality, it has to be something like
$exclude_rules = array_filter( $exclude, function ( $val ) {
return !is_null( $val );
});
$exclude_rules = array_filter($exclude, 'strlen' );
So, we might as well combine them and save the extra loop. Though, this may be a sign of some upstream issue with how the how/why the null values are there in the first place... I'm new to this codebase, so I can't speak to that at all.
I already created a PR for this in #1466 which also ensures that only strings are passed to strlen()
.
… because passing 'strlen' as a callable caused warnings on null values.
Fixes #1349.
The previously-merged commits did not, in fact, fix this issue. Null values were being passed through array_filter() with 'strlen' as the callable, but
strlen()
no longer accepts null values. Should be fixed now, with an explicit null check added.OLD:
NEW:
Checklist
contributing.md
).Release Changelog
Release Checklist
master
branch.readme.txt
.stream.php
.Stable tag
inreadme.txt
.classes/class-plugin.php
.Change
[ ]
to[x]
to mark the items as done.