On Wed, Feb 25, 2015 at 10:32 AM, Derick Rethans <der...@php.net> wrote:

> On Sun, 22 Feb 2015, Nikita Popov wrote:
>
> > I would like to propose reclassifying our few existing E_STRICT
> > notices and removing this error category:
> >
> >     https://wiki.php.net/rfc/reclassify_e_strict
> >
> > As we don't really have good guidelines on when which type of error
> > should be thrown, I'm mainly going by what category other similar
> > errors use. I'm open to suggestions, but hope this will not
> > deteriorate into total bikeshed.
>
> Those guidelines where part of the original proposal though:
> http://grokbase.com/t/php/php-internals/06aq0a1vzx/rfc-e-deprecated
> Which interestingly mentions your "Abstract static methods" case.
>
> And I did write something up (with my opinions of it):
> http://derickrethans.nl/erecoverableerror.html
>
> In any case, some comments on a few of the cases:
>
> "Redefining" a constructor
> - I think that should be retained (or an E_NOTICE) as it's something
>   that might catch people out. I think it helps enough to warrant it.
>
> "Same (compatible) property in two used traits"
> - I think that should be changed to an E_NOTICE, or not at all, if it's
>   already an E_NOTICE. For a similar reason as above.
>
> "Accessing static property non-statically"
> - I think this should stay E_STRICT, as it falls in the original
>   proposal's category of "any rule that reflects common strict
>   standards, like OOP theory that is considered harmless if not
>   followed"
>
>
I'm not against removing E_STRICT and reclassifying the errors, however,
like Derick , I'd like to keep the trait and redefining constructor ones as
they may really help to spot problems.

About the accessing static property non statically, I would have thrown an
E_ERROR : the property simply doesn't exist. Class properties should be
accessed using the class, not an instance of it , IMO.



Julien.P

Reply via email to