Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:24358 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 8648 invoked by uid 1010); 12 Jul 2006 22:38:17 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 8633 invoked from network); 12 Jul 2006 22:38:17 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Jul 2006 22:38:17 -0000 X-PHP-List-Original-Sender: lsmith@php.net X-Host-Fingerprint: 212.112.227.169 ipx11223.ipxserver.de Linux 2.5 (sometimes 2.4) (4) Received: from ([212.112.227.169:48969] helo=ipx11223.ipxserver.de) by pb1.pair.com (ecelerity 2.1.1.3 r(11751M)) with ESMTP id 18/78-63905-8D975B44 for ; Wed, 12 Jul 2006 18:38:17 -0400 Received: from localhost (localhost [127.0.0.1]) by ipx11223.ipxserver.de (Postfix) with ESMTP id 50204DF00B7; Thu, 13 Jul 2006 01:21:06 +0200 (CEST) Received: from ipx11223.ipxserver.de ([127.0.0.1]) by localhost (flottensignalgeber [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 21095-04; Thu, 13 Jul 2006 01:20:57 +0200 (CEST) Received: from [127.0.0.1] (i577B41AC.versanet.de [87.123.65.172]) by ipx11223.ipxserver.de (Postfix) with ESMTP id 5C4A9DF0004; Thu, 13 Jul 2006 01:20:57 +0200 (CEST) Message-ID: <44B579C7.7010103@php.net> Date: Thu, 13 Jul 2006 00:37:59 +0200 User-Agent: Thunderbird 1.5.0.4 (Windows/20060516) MIME-Version: 1.0 To: Antony Dovgal Cc: internals@lists.php.net References: <0F.C0.46743.0CB15B44@pb1.pair.com> <44B54CAE.70909@zend.com> In-Reply-To: <44B54CAE.70909@zend.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by somedaemon at backendmedia.com Subject: Re: [PHP-DEV] E_STRICT From: lsmith@php.net (Lukas Smith) Antony Dovgal wrote: > Lukas, I thought we already discussed and agreed that the only > acceptable solution is NOT to add any E_STRICT messages if the > recommended way didn't exist in first release of the major version. > This apparently requires versioning and its support in PEAR. > And personally I think this is the only solution we can accept. That would work fine as I pointed out in the email, but would limit the scope of E_STRICT. The point of E_STRICT was to quickly let people know about things that are no longer recommended/have become deprecated. Waiting until the next major version for new features would diminish that. > Adding some kind of hypercomplicated API for "filtering" E_STRICT is > definitely huge overkill. Not sure if I explained things this badly. All I requested was that the error message contain some "header" with the php version that notice was added. This requires no changes in any infrastructure and the point was exactly to make it feasible to write such a filter function for custom error handler. The alternative would require keeping an array of the internal error messages with the version they were added. Which would obviously break apart if we do a simple language or other change to the given notice. So all I am asking is that E_STRICT notices look like the following (or something of that sort): Strict Standards since PHP 5.0.0: Declaration of Europe::get_countries() should be compatible with that of Scandinavia::get_countries() in - on line 14 Instead of: Strict Standards: Declaration of Europe::get_countries() should be compatible with that of Scandinavia::get_countries() in - on line 14 So I dont really see where its killing a fly with a tank either. All that people then need to do is write a simple regexp, that filters out the version number in the E_STRICT notice and pass it off to version_compare(). Very trivial to implement in userland, nothing more than changing a few strings in PHP core. End of story, problem solved. regards, Lukas