Re: function call chaining

From: Date: Tue, 19 Jan 2010 10:53:52 +0000
Subject: Re: function call chaining
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-46797@lists.php.net to get a copy of this message
hi Stan, On Tue, Jan 19, 2010 at 1:27 AM, Stanislav Malyshev <stas@zend.com> wrote: > Hi! > > 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? I'm not a fan of this kind of syntaxic sugars, especially for procedural implementation only. What are the benefits? Cheers, -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org

« previous php.internals (#46797) next »