In my opinion this suggestion reduces readability and increases cognative
burden and as such I hope it is not included. Regards

On Fri, 26 Jan 2018 at 21:52, Fleshgrinder <p...@fleshgrinder.com> wrote:

> On 1/26/2018 7:16 PM, Christian Schneider wrote:
> > Hi there,
> > I have a proposal for a shorthand notation of associative arrays
> borrowed from another language:
> >       :$foo
> > would be equivalent to
> >       'foo' => $foo
> > and would work with array, list or []
> >
> > Motivation behind it, maybe someone else finds more good uses:
> >
> > 1) Emulating named parameters with associative arrays like
> >       html::img([ 'src' => $src, 'alt' => $alt ]);
> >    could be written as
> >       html::img([ :$src, :$alt ]);
> >    which encourages consistent naming of variables and parameters
> >
> > 2) Simplifying list destructuring with non-integer keys, example taking
> from
> http://php.net/manual/en/migration71.new-features.php#migration71.new-features.support-for-keys-in-list
> >       foreach ($data as ["id" => $id, "name" => $name]) {
> >    becomes
> >       foreach ($data as [ :$id, :$name ]) {
> >    which reduces redundancy.
> >
> > I implemented a minimal patch (2 lines are added to the parser) to
> implement this which you can find at
> >       https://cschneid.com/php/php7_2/assoc_array_shorthand.patch
> >
> > What do you think, is this worth an RFC? I hope I didn't miss an
> existing one :-)
> >
> > Regards,
> > - Chris
> >
> >
>
> Hi Chris!
>
> I really like this proposal. `compact` is cumbersome to use, or lets
> say, almost impossible without an intelligent IDE. However, what is more
> important is the fact that is would allow for a very readable and usable
> approach for destructuring of associative arrays (as illustrated by your
> example) which is very, very neat. The change is also extremely minimal
> which speaks for it.
>
> I would support you in writing up an RFC for this (if desired).
>
> --
> Richard "Fleshgrinder" Fussenegger
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
> --
Richard Jennings
Jennings Technology Limited
Company Number: 09827512
VAT Number: 224 8864 84

Reply via email to