[wp-trac] [WordPress Trac] #56198: Check cache key type
WordPress Trac
noreply at wordpress.org
Mon Jul 11 22:15:06 UTC 2022
#56198: Check cache key type
-------------------------+---------------------
Reporter: tillkruess | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Milestone: 6.1
Component: Cache API | Version: trunk
Severity: normal | Resolution:
Keywords: has-patch | Focuses:
-------------------------+---------------------
Comment (by SergeyBiryukov):
Replying to [comment:5 malthert]:
> >Cache key must not be empty.
>
> I think this is confusing, because 0 and '0' are valid cache keys but
technically (in PHP terms) 'empty'.
Good point, I would revise the suggestion then:
* For empty strings: `Cache key must not be an empty string.`
* For other types: `Cache key must be integer or non-empty string, %s
given.`
> I think the single error string that is in the PR now is better.
It may be if we find a way to improve the wording, but we should not
insert English phrases like `'empty string'` into a translatable string,
it results in a mix of languages that is neither English nor properly
translated.
> Regarding translation:
> Afaik l10n.php might not be loaded yet when this function is called at
all. Since the object cache is loaded before l10n.php.
> I think a function_exists() check for all translations functions in
class-wp-object-cache.php is needed.
Good point too! Translation functions might indeed not be included if
WordPress is loaded in `SHORTINIT` mode. We could do a `function_exists(
'__' )` check similar to the one found in the `_doing_it_wrong()` function
itself:
{{{
if ( function_exists( '__' ) ) {
$message = sprintf( __( 'Cache key must be integer or non-empty
string, %s given.' ), $type );
} else {
$message = sprintf( 'Cache key must be integer or non-empty
string, %s given.', $type );
}
}}}
Another option might be to skip translation altogether.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/56198#comment:6>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list