Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:25785 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 78034 invoked by uid 1010); 21 Sep 2006 15:02:45 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 78018 invoked from network); 21 Sep 2006 15:02:45 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Sep 2006 15:02:45 -0000 X-Host-Fingerprint: 80.123.98.46 unknown Received: from [80.123.98.46] ([80.123.98.46:14205] helo=localhost.localdomain) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A6/E3-49133-499A2154 for ; Thu, 21 Sep 2006 11:02:45 -0400 Message-ID: To: internals@lists.php.net Date: Thu, 21 Sep 2006 17:02:47 +0200 User-Agent: Thunderbird 1.5.0.5 (X11/20060728) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Posted-By: 80.123.98.46 Subject: [VOTE] (was: Parameter checking in 5.2) From: mike@php.net (Michael Wallner) Marcus Boerger wrote: > Hello Christian, > > the short form is, use interfaces. And the long form is read the upgrade > file and find out to use interfaces :-) Sorry for nagging again, but his issue still concerns me a lot. The thing is that currently we have inheritance rules that feel a lot like interfaces (see: "rethink OO inheritance strictness"). I'm having very strong feelings against the current behavior and, if I remember correctly, I'm not alone. mike@honeybadger:~/build/php-5.2-debug$ cli -d"error_reporting=8191" -r 'class c{function f(){}} class d extends c{function f($a){}}' Strict Standards: Declaration of d::f() should be compatible with that of c::f() in Command line code on line 1 mike@honeybadger:~/build/php-unicode-debug$ cli -d"error_reporting=8191" -r 'class c{function f(){}} class d extends c{function f($a){}}' Fatal error: Declaration of d::f() must be compatible with that of c::f() in Command line code on line 1 I *really* think that this enforcements are no good idea and I _beg_ you that we leave this "area" to interfaces. I'd therefore like to conduct a serious vote on this issue. [X] (+1) please remove that redundant strictness again [ ] (-1) leave as it is, we need strict OO implementation [ ] ( 0) what the hell are you talking about? Regards, -- Michael