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




-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to