[wp-trac] [WordPress Trac] #49919: Explore renaming double underscore functions
WordPress Trac
noreply at wordpress.org
Thu Apr 16 13:11:11 UTC 2020
#49919: Explore renaming double underscore functions
------------------------------+-----------------------------
Reporter: desrosj | Owner: (none)
Type: feature request | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version:
Severity: normal | Keywords: 2nd-opinion
Focuses: coding-standards |
------------------------------+-----------------------------
Adding the PHP Compatibility checker to Core's Travis builds in [46290]
exposed many false positives and non-controversial fixes required for
maximum compatibility that could easily be made. But there were also a few
practices in Core that have the potential to be problematic in future
versions of PHP that more detailed require discussion and planning.
The `PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames`
sniff re-exposes the names of Core's double underscore functions
(`__return_*`, for example) as a potential
[https://www.php.net/manual/en/language.oop5.magic.php future conflict
with new magic methods] (these were previously set to be ignored by the
`WordPress.NamingConventions.ValidFunctionName` sniff in [45580]).
Caution: PHP reserves all function names starting with __ as magical. It
is recommended that you do not use function names with __ in PHP unless
you want some documented magic functionality.
The functions are:
- `__get_option()`
- `__clear_multi_author_cache()`
- `__ngettext()`
- `__ngettext_noop()`
- `__return_true()`
- `__return_false()`
- `__return_zero()`
- `__return_emtpy_array()`
- `__return_null()`
- `__return_empty_string()`
- `__checked_selected_helper()`
Continuing the discussion from #46152 (comment below is from @jrf):
> While I understand and agree they should be ignored for now, I do think
we should probably open an issue about deprecating these functions/methods
in favour of the same functions, but then with better names.
>
> I know this will be a pain, especially for methods like `__return_true`
etc, but we kind of need to take that pain at some point, so why not now
(or at least in the near foreseeable future)?
Previously: #46152, #48966.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/49919>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list