On Fri, Jan 26, 2018 at 4:49 PM, David Rodrigues <david.pro...@gmail.com> wrote:
> Sorry. I mean "compact()" instead of extract() (it basically does the
> oposite hehe), I confused everything in a hurry. Sorry.
>
> So the real example is: html::img(compact('src', 'alt'));
>
> 2018-01-26 19:39 GMT-02:00 Michael Morris <tendo...@gmail.com>:
>
>> Forgot something in the previous post...
>>
>> On Fri, Jan 26, 2018 at 12:16 PM, Christian Schneider <
>> cschn...@cschneid.com
>> > 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
>> >
>>
>> The most similar extant feature to this is compact, but it's not as compact
>> as this syntax.
>>
>> $src = 'my.jpg';
>> $alt = 'My alt';
>> html::img(compact($src, $alt));
>>
>> will accomplish the same thing since compact does the reverse of extract -
>> it pulls the specified variables from the local scope and puts them into an
>> associative array.
>>
>
I see nothing in this proposal that compact doesn't already do quite well.

-1

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to