Re: [RFC]

From: Date: Wed, 12 Feb 2020 03:56:30 +0000
Subject: Re: [RFC]
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-108502@lists.php.net to get a copy of this message
> On Feb 11, 2020, at 6:13 AM, Manuel Canga <manuelcanga@gmail.com> wrote: > > Hi internals, > I Would like to present a possible new "::func resolution" for your > consideration. > > In first place, PHP now support "::class" in this way: > > use My\I18N; > > $mapped_array = array_map([I18N::class, 'translate'], $array); > It avoid add Full I18N namespace in callback. > > However with functions is different: > > use function \My\I18N\i18n_translate; > > $mapped_array = array_map('\My\I18N\i18n_translate', $array); > > What is the useful here of importing the function?. > My proposal is ":func" in order to avoid full namespace in callback of > functions. E.g: > > use function \My\I18N\i18n_translate; > > $mapped_array = array_map(i18n_translate::func, $array); > > "<string>::func" should validate if a function with > <string> is imported. > In this case, "<string>::func" is replaced with FQN of this function, > otherwise with only "<string>" I proposed ::function on the list a month ago: - https://externals.io/message/108045#108084 I had started by suggesting ::interface and ::trait: - https://externals.io/message/108045#108069 Marcio Almada suggested that we should use a general ::nameof instead: - https://externals.io/message/108045#108085 -Mike

« previous php.internals (#108502) next »