Re: function call chaining

From: Date: Tue, 19 Jan 2010 04:12:42 +0000
Subject: Re: function call chaining
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-46791@lists.php.net to get a copy of this message
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

« previous php.internals (#46791) next »