Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:20248 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 90827 invoked by uid 1010); 22 Nov 2005 20:45:08 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 90812 invoked from network); 22 Nov 2005 20:45:08 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 22 Nov 2005 20:45:08 -0000 X-Host-Fingerprint: 195.227.108.51 wfserver02.wf-ppr.de Windows 2000 SP2+, XP SP1 (seldom 98 4.10.2222) Received: from ([195.227.108.51:23591] helo=wfserver02.wf-ppr.de) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id E2/74-11378-35383834 for ; Tue, 22 Nov 2005 15:45:08 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-class: urn:content-classes:message Date: Tue, 22 Nov 2005 21:45:01 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5.6944.0 Message-ID: <00A2E2156BEE8446A81C8881AE117F192C1C4E@companyweb> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: AW: [PHP-DEV] PDM Meeting Notes Thread-Index: AcXvpByPotDDVX7JQkGNpLmI9MDzrwAADPzw To: "Rasmus Lerdorf" Cc: "internals" Subject: AW: AW: [PHP-DEV] PDM Meeting Notes From: mp@webfactory.de ("Matthias Pigulla") Now that was a quick reply :) > Also known as runtime inheritance, or late binding. It's not a new=20 > thing, we have it today. The discussion was about whether to=20 > have a way=20 ... That is, one can write=20 if (...) class A extends X {} else class A extends Y {}=20 right now? Seriously ;)? Every now and then I'm surprised what weird sort of stuff is allowed in PHP :), but most probably you don't really want to write this sort of code in the first place? ;) > Just like any other signature in an instance, it tells anything that=20 > implements the interface that it must have a constructor and that=20 > constructor must meet the definition in the interface. Useful for=20 > object factories. In most cases you don't want to force a specific=20 > constructor in which case you wouldn't specify it in the=20 > interface, but=20 > I see no reason why you shouldn't be allowed to specify it=20 > there if you=20 > want to. The point is that interfaces are nothing you could anything with - that is, if you have "something" that implements an interface, it has already been constructed. You never construct instances through an interface (you would have to choose an implementation, the interface isn't one)... I just cannot explain it in a better way ;) It's somewhat similar to that you cannot make static calls on interfaces. Maybe someone could explain what they intend to use it for and what they suspect it to do ;)? -mp.