Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:84176 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 50042 invoked from network); 2 Mar 2015 18:14:01 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 2 Mar 2015 18:14:01 -0000 Authentication-Results: pb1.pair.com header.from=julienpauli@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=julienpauli@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.212.172 as permitted sender) X-PHP-List-Original-Sender: julienpauli@gmail.com X-Host-Fingerprint: 209.85.212.172 mail-wi0-f172.google.com Received: from [209.85.212.172] ([209.85.212.172:44792] helo=mail-wi0-f172.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 71/55-14834-768A4F45 for ; Mon, 02 Mar 2015 13:14:00 -0500 Received: by wiwl15 with SMTP id l15so16962795wiw.3 for ; Mon, 02 Mar 2015 10:13:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=Jt4Yi8wzWr9JLaPGPN0t+JUh4Oya3ixTM/QOehHyluU=; b=SERvmNO84mcKRsW1Mv0iMhVBdY8yLloSLfHLUk6rKCwudNplb/oS7cacKavPMlw69o Bm0QRstDaB1AHalFDxEB4Rkg2oXC4jylWvm1capm84qrYrsm31B4OqSp4bM428mj6euk kO+4t7NPckDmaJrBAYRjsKBCCsijfi8uTGCFs8W67aVXAkrTUCJIjS24R0wdxP5+xqB8 ZbMr01AMUSy2nkc98G0eNmFPCJsTFM6/DZNLUHiulJrhZPwnOkbvd6mlpZKiWQCZhuUy uhZ4rugmd70ZkUkSEDYDkLDKwM2hmZ6/OLPTleUMqYPEdKB8x0GxOqm8KtOM/+Vojs4L 1yxA== X-Received: by 10.180.206.144 with SMTP id lo16mr16660575wic.28.1425320036904; Mon, 02 Mar 2015 10:13:56 -0800 (PST) MIME-Version: 1.0 Sender: julienpauli@gmail.com Received: by 10.194.198.210 with HTTP; Mon, 2 Mar 2015 10:13:16 -0800 (PST) In-Reply-To: References: Date: Mon, 2 Mar 2015 19:13:16 +0100 X-Google-Sender-Auth: Mil6GdosDWWK0S9UPbRfYTfyHxc Message-ID: To: Derick Rethans Cc: Nikita Popov , PHP internals Content-Type: multipart/alternative; boundary=001a11c3843a7db5e00510522e27 Subject: Re: [PHP-DEV] Reclassify E_STRICT notices From: jpauli@php.net (Julien Pauli) --001a11c3843a7db5e00510522e27 Content-Type: text/plain; charset=UTF-8 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. 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 --001a11c3843a7db5e00510522e27--