Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:8130 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 19518 invoked by uid 1010); 25 Feb 2004 22:56:50 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 19494 invoked from network); 25 Feb 2004 22:56:50 -0000 Received: from unknown (HELO moutng.kundenserver.de) (212.227.126.189) by pb1.pair.com with SMTP; 25 Feb 2004 22:56:50 -0000 Received: from [212.227.126.160] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1Aw7xR-0007jy-00 for internals@lists.php.net; Wed, 25 Feb 2004 23:56:49 +0100 Received: from [80.139.1.157] (helo=[80.139.1.157]) by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1) id 1Aw7xR-0002JU-00 for internals@lists.php.net; Wed, 25 Feb 2004 23:56:49 +0100 To: internals@lists.php.net In-Reply-To: <1781292779406.20040225234401@marcus-boerger.de> References: <1077748616.685.16.camel@localhost> <1781292779406.20040225234401@marcus-boerger.de> Content-Type: text/plain Message-ID: <1077749539.685.27.camel@localhost> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.4 Date: Wed, 25 Feb 2004 23:52:20 +0100 Content-Transfer-Encoding: 7bit X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:e958292ea7b1c44e51b2b9ca0a9da460 Subject: Re: [PHP-DEV] Declaration of Bar::__construct() must be compatible with that of Foo::__construct() From: thekid@thekid.de (Timm Friebe) On Wed, 2004-02-25 at 23:44, Marcus Boerger wrote: > Hello Timm, > > i had the same expirience today too. And also for me it makes not much > sense. The constructor shouldn't check inheritance rules. Neither should other methods follow this. What if I want to add a non-default parameter to an overriden method? I see where the problem comes from: zend_do_perform_implementation_check() is called from do_inherit_method_check() (both in zend_compile.c) which in turn is called for inheritance *and* for interfaces. The behaviour is fully desirable when implementing interfaces but not for regular inheritance. - Timm