On Mon, January 18, 2010 6:27 pm, Stanislav Malyshev wrote:
> I wrote a small patch that enables this kind of syntax in PHP:
>
> foo()();
>
> What it means is that if foo() returns callable value (which probably
> should be function name or closure) then it would be called.
> Parameters
> and more than two sets of () work too.
> Of course, this is mostly useful for doing closures, and that was
> primary drive for implementing it - to make working with closures and
> especially function returning closures easier.
> What does not work currently is $foo->bar()() - since it is
> surprisingly
> hard to tell parser it's not {$foo->bar}()() - which of course is not
> what I want to do.
>
> The patch is here: http://random-bits-of.info/funcfunc.diff
>
> What do you think? If somebody has better idea btw - maybe make
> something like {foo()}() - and make that work for any expression
> inside
> {} - that might work too. So, what do you think?If I understand what this does... I think it would be far easier to just keep using: $foo_closure = foo(); $foo(); then to try to deal with foo()(); foo()(); just seems a bit too arcane to me... -- Some people ask for gifts here. I just want you to buy an Indie CD for yourself: http://cdbaby.com/search/from/lynch -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
