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