Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:84807 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 43515 invoked from network); 15 Mar 2015 08:34:59 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 15 Mar 2015 08:34:59 -0000 Authentication-Results: pb1.pair.com header.from=nikita.ppv@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=nikita.ppv@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.179 as permitted sender) X-PHP-List-Original-Sender: nikita.ppv@gmail.com X-Host-Fingerprint: 74.125.82.179 mail-we0-f179.google.com Received: from [74.125.82.179] ([74.125.82.179:35813] helo=mail-we0-f179.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5C/E1-29489-13445055 for ; Sun, 15 Mar 2015 03:34:58 -0500 Received: by webcq43 with SMTP id cq43so18501603web.2 for ; Sun, 15 Mar 2015 01:34:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=rqCMXTszQuw/42sPtxSeOlYHtsQ3DZZO+Y5Rc68OlGg=; b=JDqUL/A+ytOObvD/GmmzfHBrdtxkWwWaDJRkc8d6Qe++WIsGHmf4eMsu/IiRKzN+V+ hQDct02bM1GNm15MTK3VLLB5zIpY5e16As0l9W2V683GkjzAcCAsIhFGSLtgh+ApznJ+ A9QAzGB6UrOVmSGd1bI0h4ro+AWXLEGjWx7gZrcUlIeaNJ48rw2zhB0ONaKwwljMJeny a1+k0y4ghWxMcYxcf99A2j01xZq0/eaE9Aa2z3xVEi8sWo5qdFX4FNwKjdbCYml5/O9N qZtYWLPT0IL5KQvoQpWkHqY5ZuqCyH4VYKlrAZwQk6hKaXefpTbVwOUmQIeluUYTmep6 6MYw== MIME-Version: 1.0 X-Received: by 10.180.90.211 with SMTP id by19mr75182957wib.27.1426408494126; Sun, 15 Mar 2015 01:34:54 -0700 (PDT) Received: by 10.27.10.193 with HTTP; Sun, 15 Mar 2015 01:34:54 -0700 (PDT) In-Reply-To: References: Date: Sun, 15 Mar 2015 09:34:54 +0100 Message-ID: To: Julien Pauli Cc: Derick Rethans , PHP internals Content-Type: multipart/alternative; boundary=f46d043be0a498dba005114f9bb9 Subject: Re: [PHP-DEV] Reclassify E_STRICT notices From: nikita.ppv@gmail.com (Nikita Popov) --f46d043be0a498dba005114f9bb9 Content-Type: text/plain; charset=UTF-8 On Mon, Mar 2, 2015 at 7:13 PM, Julien Pauli wrote: > On Wed, Feb 25, 2015 at 10:32 AM, Derick Rethans 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. > The redefining constructor notice is already gone with the ctors RFC, so I won't comment on that. Regarding the trait warning: There is a tradeoff between a) this notice can spot problems and b) this notice completely disallows using this feature in professional code. I don't think having the same property in two traits is in any way fundamentally wrong if the declarations are compatible, so I don't see why we should (effectively) completely forbid it. Nikita --f46d043be0a498dba005114f9bb9--