Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:55511 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 76093 invoked from network); 19 Sep 2011 00:49:30 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Sep 2011 00:49:30 -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.170 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.213.170 mail-yx0-f170.google.com Received: from [209.85.213.170] ([209.85.213.170:49705] helo=mail-yx0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 9D/96-28880-891967E4 for ; Sun, 18 Sep 2011 20:49:29 -0400 Received: by yxi13 with SMTP id 13so4476039yxi.29 for ; Sun, 18 Sep 2011 17:49:23 -0700 (PDT) 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; bh=gSUJtwEWGBzgdswzIzPQQPinxhOH1Ht9rtLNZedX4NI=; b=RCmVLu7cPICLbQM7+KmVw6bG6AEFdfAJgV/cTuk27L+GjcjBtfLwNM+m4ZLmhPUvXN PyRsy5rVfx7rHf4SxuEJcKJ2oQ7BP69jqmus5HfGrU0G0ErCCUQIUsTFlXZSjh6rblGe drNQw+EKXYO6cIeUYtLPhdHT8caIfyY7AcjAs= MIME-Version: 1.0 Received: by 10.236.139.138 with SMTP id c10mr10275100yhj.62.1316393363773; Sun, 18 Sep 2011 17:49:23 -0700 (PDT) Received: by 10.147.41.10 with HTTP; Sun, 18 Sep 2011 17:49:23 -0700 (PDT) In-Reply-To: References: <4E74E5A0.2030006@sugarcrm.com> <4E76320F.6010904@sugarcrm.com> <4E764137.9080507@sugarcrm.com> <4E7685DE.6010805@sugarcrm.com> <4E768C86.3030307@sugarcrm.com> Date: Mon, 19 Sep 2011 02:49:23 +0200 Message-ID: To: Stas Malyshev Cc: PHP internals Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [PHP-DEV] __constructor parameter limitations. From: pierre.php@gmail.com (Pierre Joye) On Mon, Sep 19, 2011 at 2:42 AM, Pierre Joye wrote: > But this exact example works, only the similar case using abstract > will fail, and it makes to fail here as an abstract method is only the > declaration, the implementation being done in the child class (bar > extends foo). This is the concept of 'abstract', see it like the > declaration and implementation in C. The PHP documentation is also > clear about that: > > "Methods defined as abstract simply declare the method's signature" I forgot to mention that abstract are per se more restrictive than interface, given their nature (declaration of methods with their signature, which must be respected). A rather abstract concept (if I may say so :) ) but well defined and documented (be in php's doc or OO books). Cheers, -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org