On Tue, Aug 4, 2020 at 4:19 PM David Rodrigues <david.pro...@gmail.com>
wrote:

> Suggestions:
>
> $(Attribute()) (available)
> $[Attribute()] (available)
> <<Attribute(1 \>> 2)>> (like strings escapes)
>

I had someone else suggest $[] to me today as well, funny coincidence :-)

Can you take the "@@ to @[] pull" request as a starting point to try if
this works with a patch?

https://github.com/php/php-src/pull/5928

This syntax is "not" familiar with docblock usage of @, as it doesn't
contain a @ :-D
It does pose difficulty for static analyers and userland parsers, because
they see the $ as a T_VARIABLE
in PHP 7.


> About $() syntax:
>
>    - Number of required characters: (2+1)
>    - Has end delimiter: yes
>    - Allow grouping: yes
>    - Forward compatibility in PHP 7: yes
>    - Breaks BC of valid PHP 7 codes: no
>    - Used by other languages: no?
>    - Familiar with Docblock Usage: I don't know
>    - Difficulties with Userland Parsers: I don't know
>
> And my another suggestion is use a more verbose for now, until we have a
> good consensus about it "using attribute()":
>
>
>    - Number of required characters: (16+1)
>
>
>    - Has end delimiter: yes
>
>
>    - Allow grouping: yes
>
>
>    - Forward compatibility in PHP 7: yes
>
>
>    - Breaks BC of valid PHP 7 codes: no
>
>
>    - Used by other languages: no?
>
>
>    - Familiar with Docblock Usage: I don't know
>
>
>    - Difficulties with Userland Parsers: I don't know
>
>
This would definitely need a fully working patch to be a contender in the
vote.

- It's not forward compatibltle with PHP 7, because use of the syntax
would  lead to a fatal error on PHP 7 parsers or am I seeing something
wrong?
- its not a familiar syntax for PHP developers used to @ in docblocks

>
> Atenciosamente,
> David Rodrigues
>
>
> Em ter., 4 de ago. de 2020 às 11:03, Benjamin Eberlei <kont...@beberlei.de>
> escreveu:
>
>> On Tue, Aug 4, 2020 at 3:46 PM Derick Rethans <der...@php.net> wrote:
>>
>> > Hi,
>> >
>> > Out of Banjamin's suggestion[1], I've updated the Shorter Attribute
>> > Syntax Change RFC to reflect that process:
>> >
>> > https://wiki.php.net/rfc/shorter_attribute_syntax_change
>> >
>> > Patches and comments welcome.
>> >
>> > FWIW, this has an excemption from the RM Sara as per [2]:
>> >
>> > > * Shorter Attribute Syntax Change
>> > >    - Joe/Derick - Please make sure this RFC moves along and reaches
>> > >      conclusion by beta3, as discussed previously.
>> >
>>
>> In combination to the existing proposals we already voted one, this RFC
>> includes a fourth option that has not been discussed before,
>> and could be the compromise we are all looking for :-)
>>
>> @[Attr] combines both the with to use the familiar @ of many, and the wish
>> to have a closing symbol/termination symbol that many others have.
>>
>> It does not have the downsides that Tyson found w.r.t. to #[Attr] being
>> interpreted as comment on PHP 7, but that also means its not forward
>> compatible like #[Attr] is.
>>
>> It provides a small BC break where code written as @[$foo, $bar] = baz();
>> or $foo = @["bar" => $baz]; will not compile on PHP 8 anymore, but that
>> can
>> be easily
>> fixed by writing it with a space between @ and [.
>>
>>
>> >
>> > cheers,
>> > Derick
>> >
>> > [1] https://externals.io/message/111218#111261
>> > [2] https://externals.io/message/111286#111286
>> >
>> > --
>> > PHP 7.4 Release Manager
>> > Host of PHP Internals News: https://phpinternals.news
>> > Like Xdebug? Consider supporting me: https://xdebug.org/support
>> > https://derickrethans.nl | https://xdebug.org | https://dram.io
>> > twitter: @derickr and @xdebug
>> >
>> > --
>> > PHP Internals - PHP Runtime Development Mailing List
>> > To unsubscribe, visit: https://www.php.net/unsub.php
>> >
>> >
>>
>

Reply via email to