On 23 Dec 2009, at 18:27, Iván Montes wrote:

I fail to see why checking for closures makes variable access much slower. As far as I remember, interpolated variable paths are "compiled" to use the $ctx->path() method, and it already does quite a few type checking logic already.

Checking for a closure basically would mean adding "instanceof" conditions, being instanceof an operator and as such extremely fast, I don't see why it should hurt overall performance.

First path of component is optimized to be $ctx->var which reads value directly from a property of $ctx object. For simple cases like $ {variable} no function is called at all (not even __get()).

Without any extra syntax, it's not known at compilation time whether variable will be real value or a closure, so I won't be able optimize those checks away.

--
regards, Kornel


_______________________________________________
PHPTAL mailing list
PHPTAL@lists.motion-twin.com
http://lists.motion-twin.com/mailman/listinfo/phptal

Reply via email to