Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:43883 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 20226 invoked from network); 11 May 2009 12:27:25 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 May 2009 12:27:25 -0000 Authentication-Results: pb1.pair.com header.from=chris_se@gmx.net; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=chris_se@gmx.net; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmx.net designates 213.165.64.20 as permitted sender) X-PHP-List-Original-Sender: chris_se@gmx.net X-Host-Fingerprint: 213.165.64.20 mail.gmx.net Linux 2.6 Received: from [213.165.64.20] ([213.165.64.20:36448] helo=mail.gmx.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id ED/40-18466-CA9180A4 for ; Mon, 11 May 2009 08:27:25 -0400 Received: (qmail invoked by alias); 11 May 2009 12:27:21 -0000 Received: from p54A14099.dip.t-dialin.net (EHLO chris-se.dyndns.org) [84.161.64.153] by mail.gmx.net (mp016) with SMTP; 11 May 2009 14:27:21 +0200 X-Authenticated: #186999 X-Provags-ID: V01U2FsdGVkX18bQa5vXGgb+Y+nu9HEyz1CFxs1fGeXU6GXGsphZp f/+6C9cmb/7/iX Received: by chris-se.dyndns.org (Postfix, from userid 81) id C80F46B51; Mon, 11 May 2009 14:12:21 +0200 (CEST) To: Kalle Sommer Nielsen MIME-Version: 1.0 Date: Mon, 11 May 2009 14:12:21 +0200 Cc: Internals , Johannes Schlueter In-Reply-To: <2dedb8a0905110334x1b546a2dv46a46ceca798a558@mail.gmail.com> References: <2dedb8a0905110334x1b546a2dv46a46ceca798a558@mail.gmail.com> Message-ID: <5cb8eef282c0fac1869d1a004baef6bf@192.168.100.1> X-Sender: chris_se@gmx.net User-Agent: RoundCube Webmail/0.1b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.5600000000000001 Subject: Re: [PHP-DEV] Reflection From: chris_se@gmx.net (Christian seiler) Hi Kalle, > 3) Closures, theres alot of closure differences in HEAD and 5.3, for > example HEAD has ReflectionMethod::getClosure() and > ReflectionFunction::getClosureThis(), but 5.3 does not, which makes it > looks like a change in 5.3 that never occured to HEAD, unless that is > the logic is fixed in HEAD. We should really fix this, so 5.3 have > these if needed. The reason for this is that I removed $this and OOP support from closures on Johannes's and Lukas's request in 5.3 since there was no consensus on how this should actually work (see [1]). I didn't revert in HEAD because there was at least consensus on the fact that someday in the future Closures should support OOP/$this after we decide how. The discussion on that topic has not progressed, however - nobody actually reacted to my explanation on this topic (see [2]) - even after the removal in 5.3 (which was done in order to allow the discussion to progress independently of 5.3 so that a solution is not forced due to time constraints). My rationale for not removing it from HEAD was the simple fact that I thought the discussion on this topic would progress and after 5.3 we would reach a consensus on how to implement that. In that case, the code in HEAD would have only needed to be changed, but not re-added. I did not anticipate that the discussion would die down completely for so long and that no progress would be made in that case. Anyway, we have the following two options for HEAD: 1. Sync HEAD with 5.3 and remove that stuff also. Which could lead to additional, unecessary work after we decide which way we want to go. 2. Leave it as is until we have decided. Anyway, if anybody wants to renew the discussion on this topic, look at [2] where all the details and problems are explained. [1] http://wiki.php.net/rfc/closures/removal-of-this [2] http://wiki.php.net/rfc/closures/object-extension (please ignore "timeline" in the second link, it's outdated) Regards, Christian