Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:56408 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 30755 invoked from network); 18 Nov 2011 19:02:49 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Nov 2011 19:02:49 -0000 Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.213.42 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.213.42 mail-yw0-f42.google.com Received: from [209.85.213.42] ([209.85.213.42:42194] helo=mail-yw0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 84/A5-06569-7DBA6CE4 for ; Fri, 18 Nov 2011 14:02:47 -0500 Received: by ywm19 with SMTP id 19so3224776ywm.29 for ; Fri, 18 Nov 2011 11:02:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=hmdS4uJhrZUFgFOQBzGSxpLPQ0uDQ6lJn/eKYx+4dfQ=; b=NpQGZ/Jw9xO6OhtRdiwzBpV5JOlGavaJE64vYueyHR4Zis+3LWrBV4X1oJF48pO3/K Tu0g9oG5IzJdPCelYdwIXLahVAzIa0Oyi7ThA7uw/kRLGnS7h4qyQJF4IRNODcotGwyA U5LvD/osVgF5Ns/QHMM/SC0pT4KiiUs7i1oRA= MIME-Version: 1.0 Received: by 10.236.201.137 with SMTP id b9mr7023358yho.124.1321642964572; Fri, 18 Nov 2011 11:02:44 -0800 (PST) Received: by 10.147.99.18 with HTTP; Fri, 18 Nov 2011 11:02:44 -0800 (PST) In-Reply-To: <4EC69872.6060300@ralphschindler.com> References: <4EC578C9.4000408@ralphschindler.com> <4EC69872.6060300@ralphschindler.com> Date: Fri, 18 Nov 2011 20:02:44 +0100 Message-ID: To: Ralph Schindler Cc: internals Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Changes to constructor signature checks From: pierre.php@gmail.com (Pierre Joye) On Fri, Nov 18, 2011 at 6:40 PM, Ralph Schindler wrote: > Hey Pierre, > > My perspective and expectations are framed by all sorts of existing > literature as well as the discussions on this list. =A0It saddens me that= you > did not address any of the points I've brought up. =A0And, I simply canno= t > tell what basis you have for your interpretation and opinion. It seems mo= re > like you're basing your interpretation on preference alone. Again, no, I do not base my opinion on personal preferences. I only do not buy too much from the 'let do it the PHP way' when it comes to OO, and yes I slightly move to the strict side. > The facts are this: > > 1) What we know and have been told is that PHP's signature checking is > governed by Liskov Substitution Principle. =A0There are many references t= o > this in the list. And for this exact case, it is correctly implemented as of now. > 2) "Abstract Constructors" do not exist in any other language, for all > intents and purposes, it's something we've invented: > > http://www.google.com/search?&q=3D%22abstract+constructor%22 > > That's fine, so now the question is, how does this thing we've invented p= lay > in with our current implementation of a class based object model and how > does it meet developer preexisting expectations? A construct is a specialized method, that does not change a yota what abstract methods are. > Even you Pierre, once promoted "looseness" > http://news.php.net/php.internals/25089 (Pierre) Only the doom never changes their mind :-D > 4) We should meet everyone's existing expectations, Rasmus talks about th= is: We should meet consistency with standard behaviors and then it is easy to learn, for everyone. Cheers, --=20 Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org