Re: Idea for better function callbacks (another syntactic sugar)

From: Date: Fri, 26 Oct 2018 20:01:29 +0000
Subject: Re: Idea for better function callbacks (another syntactic sugar)
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-103400@lists.php.net to get a copy of this message
My proposal would not work for methods. function::CustomClass::someMethod - that doesn't look great at all, at least to me. On Fri, Oct 26, 2018 at 6:08 PM David Rodrigues <david.proweb@gmail.com> wrote: > Em sex, 26 de out de 2018 às 09:30, Crocodile <crocodile2u@gmail.com> > escreveu: > > > Hi internals! > > > > I have this idea of improving the way to specify callbacks for good old > PHP > > functions. For instance, I have this piece of code: > > > > --------------- > > array_filter($names, 'trim') > > --------------- > > > > The callback function name is specified as a string, which makes it > > not-so-obvious, although this is definitely a PHP way. An alternative > would > > be to rewrite this using a lambda: > > > > --------------- > > array_filter($names, function($name) { return trim($name); }) > > --------------- > > > > This is way more wordy, and I bet most of us will go for the first > option. > > > > What if we had a more clear way of specifying those callbacks? I suggest > > the following: > > > > --------------- > > array_filter($names, function::trim) > > --------------- > > > > And about methods? How it should works if I wants to call a method from a > custom class? It should be function::CustomClass::someMethod? > > > > > > > It is, I believe, more clear then a simple string, just a bit more wordy, > > and since "function" is a reserved word which never had anything to do > with > > "::", the lexer/parser could probably find a way to deal with this kind > of > > syntax (well, honestly, this part is totally unclear for me because I > only > > work with PHP from userland). > > > > Does anyone else find this could be a good addition? Or is it not worth > > considering? Or maybe I am missing some obvious pitfalls? > > > > Cheers, > > Victor > > -- > > Best regards, > > Victor Bolshov > > > > > -- > David Rodrigues > -- Best regards, Victor Bolshov

« previous php.internals (#103400) next »