Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:33444 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 3038 invoked by uid 1010); 26 Nov 2007 18:16:44 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 3022 invoked from network); 26 Nov 2007 18:16:44 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Nov 2007 18:16:44 -0000 Authentication-Results: pb1.pair.com header.from=dz@bitxtender.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=dz@bitxtender.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain bitxtender.com from 80.237.132.12 cause and error) X-PHP-List-Original-Sender: dz@bitxtender.com X-Host-Fingerprint: 80.237.132.12 wp005.webpack.hosteurope.de Received: from [80.237.132.12] ([80.237.132.12:47205] helo=wp005.webpack.hosteurope.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 3F/26-55421-B8D0B474 for ; Mon, 26 Nov 2007 13:16:44 -0500 Received: from dslb-084-056-052-227.pools.arcor-ip.net ([84.56.52.227] helo=localhost); authenticated by wp005.webpack.hosteurope.de running ExIM using esmtpsa (TLSv1:RC4-SHA:128) id 1IwiVa-0002zA-Fz; Mon, 26 Nov 2007 19:16:38 +0100 Cc: Alexey Zakhlestin , Mike Lively , PHP Developers Mailing List Message-ID: <8B22ADBC-CF9A-407B-B83C-349A40AC7AF0@bitxtender.com> To: Stanislav Malyshev In-Reply-To: <474B0CE7.8060003@zend.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v915) Date: Mon, 26 Nov 2007 19:16:37 +0100 References: <4740C654.3020302@digitalsandwich.com> <47417C65.8010708@iamjochem.com> <474130B3.9070303@digitalsandwich.com> <4741DC81.6000506@zend.com> <4741D574.2020800@digitalsandwich.com> <474247A2.5050301@zend.com> <4741D9D1.6030106@digitalsandwich.com> <47424B4F.2@zend.com> <4743CED7.5050402@avalon.aut.bme.hu> <4749F328.8080506@digitalsandwich.com> <45B2C652-820A-4820-82C5-A156DB5721DD@bitxtender.com> <474B0CE7.8060003@zend.com> X-Mailer: Apple Mail (2.915) X-bounce-key: webpack.hosteurope.de;dz@bitxtender.com;1196101003;6cee575c; Subject: Re: [PHP-DEV] [PATCH] late binding for parent (and other options) - Was Re: [PHP-DEV] late static binding php6 From: dz@bitxtender.com (=?ISO-8859-1?Q?David_Z=FClke?=) Am 26.11.2007 um 19:13 schrieb Stanislav Malyshev: >> - static always points to the original callee, w/o being "broken" >> by parent:: >> - get_called_class() should _not_ behave like shown above. It >> really was not B that got called, but it was A, trough parent:: >> - a new get_static_class() method should return "B". > > Ouch. So now not only we have parent:: and Class:: behave > differently (and I'm afraid to think of how call_user_func() should > work) we also have two separate functions for getting called class > and only one of them has non-functional notation. Yes, this is > natural and intuitive. Not. > >> (essentially, get_called_class() returns the name of "self", while > > You don't need a function to get "self". You have __CLASS__ for that. Ah. Right. Didn't think of that. Well, then, get_called_class() should of course maintain the context (i.e. return the original callee) even with parent:: David