I suppose calling it statically a user would probably want to recycle the same function/closure, so binding/calling it real time would have little impact if done properly.
On Wed, Aug 20, 2014 at 2:30 PM, Levi Morrison <le...@php.net> wrote: > On Wed, Aug 20, 2014 at 11:51 AM, Nathan <nathan.br...@starin.biz> wrote: > > The only thing I'd suggest is like I said in the last email is to make > the > > syntax more like Closure::bind(Closure $closure, object $newThis, [mixed > > $newScope = 'static']) and make it Closure::apply(mixed $newObjectOrScope > > [, mixed ... $parameters]) $newObjectOrScope would then allow a user to > > supply a class name or an object. If class name is passed you have access > > to "static::", "self::", and "parent::" inside the function everything > else > > works as described in the RFC. > > > > Give the ability to call a closure as a static method of a class or a > > normal method of an object. Right now the only way to do it is doing > > binding and creating new closures and calling those closures then > > destroying them. > > I think you are confused. This proposal basically binds the closure to > the new object and invokes it immediately. I genuinely don't see how > it being statically bound to the object will make a difference. Please > elaborate. >