Re: Drop warning about non-public magic methods
| From: | Josh Bruce | Date: | Mon, 13 Jul 2020 19:07:52 +0000 |
| Subject: | Re: Drop warning about non-public magic methods | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-110981@lists.php.net to get a copy of this message | ||
Curious.
I tend to follow PSR-12 (with few exceptions): https://www.php-fig.org/psr/psr-12/#44-methods-and-functions
<https://www.php-fig.org/psr/psr-12/#44-methods-and-functions>
Which requires visibility declaration on all members (methods and properties).
Would dropping the requirement make the following impossible:
class SomeClass
{
private function __toString() {}
}
$instance = new SomeClass();
$instance->__toString();
It’s one thing if PHP can always reach it, it’s a different thing if I, as the developer, can
make it so others can’t.
Cheers,
Josh
> On Jul 13, 2020, at 1:32 PM, Gabriel Caruso <carusogabriel@php.net> wrote:
>
> Hello internals,
>
> During the development of
> https://wiki.php.net/rfc/magic-methods-signature I
> found something that I'd like to share with you, and possibly propose to
> drop it: there's a warning that php-src throws when a magic method is
> declared with visibility different than
public: ¶ÞYÝï¶
> Ü‹†ôÙhttps://3v4l.org/LKnKB.
>
> This warning does not make much sense as the magic method is executed
> regardless of its visibility. Should it be dropped?
>
>
> - Gabriel Caruso