Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:55522 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 33131 invoked from network); 19 Sep 2011 09:12:20 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Sep 2011 09:12:20 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 207.97.245.163 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 207.97.245.163 smtp163.iad.emailsrvr.com Linux 2.6 Received: from [207.97.245.163] ([207.97.245.163:39631] helo=smtp163.iad.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F1/67-14600-377077E4 for ; Mon, 19 Sep 2011 05:12:20 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp56.relay.iad1a.emailsrvr.com (SMTP Server) with ESMTP id 8FA193D80E4; Mon, 19 Sep 2011 05:12:17 -0400 (EDT) X-Virus-Scanned: OK Received: by smtp56.relay.iad1a.emailsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id E30F13D80EA; Mon, 19 Sep 2011 05:12:16 -0400 (EDT) Message-ID: <4E770770.60809@sugarcrm.com> Date: Mon, 19 Sep 2011 02:12:16 -0700 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2 MIME-Version: 1.0 To: Pierre Joye CC: PHP internals References: <4E74E5A0.2030006@sugarcrm.com> <4E76320F.6010904@sugarcrm.com> <4E764137.9080507@sugarcrm.com> <4E7685DE.6010805@sugarcrm.com> <4E768C86.3030307@sugarcrm.com> <4E769418.6040200@sugarcrm.com> <4E770163.2090001@sugarcrm.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] __constructor parameter limitations. From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! On 9/19/11 2:02 AM, Pierre Joye wrote: > Sorry but your constantly rejecting any logical, documented, known > principles for the abstract concept is killing me. I didn't see any documented principle that say the code I cited is prohibited. Only example you brought so far is C function declaration that has nothing to do with OO. You want to prove you point - prove it, not repeat it. >> You are claiming that only way in OO to implement contacts is have the whole hierarchy enforce exactly >> the same function signatures > > You miss one word, abstract. And that's what you actually do not > understand or does not want to. 1. Non-abstract methods have the same problem, as I have already shown you. 2. Abstract has nothing to do with it, abstract just says there's no default implementation provided so protocol implementor must always override it. The fact that abstract in PHP works differently is an artifact of supporting BC, as you yourself recently explained. I don't know where the notion that abstract methods must have different signature enforcement and inheritance rules and it's somehow "known principle" comes from. Its totally not what abstract means in all OO languages known to me. Could you please cite OO languages that have different signature enforcement rules for abstracts and non-abstracts? -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227