Re: [RFC] Attributes v2
| From: | Benjamin Eberlei | Date: | Tue, 14 Apr 2020 11:00:01 +0000 |
| Subject: | Re: [RFC] Attributes v2 | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-109619@lists.php.net to get a copy of this message | ||
Hi everyone,
I have updated the RFC with much of the feedback received here, on Twitter
and Reddit.
https://wiki.php.net/rfc/attributes_v2
The following changes were made:
- Changed to support the same attribute multiple times on the same
declaration
- Added support for attributes on method and function parameters
- Replaced *PhpAttribute* interface with an attribute instead
- Distinction between userland and compiler attributes and description
when each of them gets evaluated/validated
- Reduce number of examples to shorten RFC a bit and expand the other
examples instead
- Introduced validation of compiler attributes at compile time using a C
callback
- Offer alternative syntax “@:” using new token T_ATTRIBUTE which will
be included with a secondary vote
You may have seen me mentioning that I don't want to deviate from the <<>>
syntax, a topic of heated debate. As Martin helped me tremendously with the
RFC and patches he earned to propose an alternative (including patch with
prototype). So we will have a secondary vote on syntax being either
<<Attribute>> or @:Attribute.
Let us know what you think about the changes.
greetings
Benjamin
On Mon, Mar 9, 2020 at 3:42 PM Benjamin Eberlei <kontakt@beberlei.de> wrote:
> Hi all,
>
> I want to resurrect Dmitrys Attributes RFC that was rejected for 7.1 in
> 2016 with a few changes, incorporating feedback from the mailing list back
> then and from talking to previous no voters.
>
> The RFC is at https://wiki.php.net/rfc/attributes_v2
>
> A working patch is at
> https://github.com/beberlei/php-src/pull/2 though
> work around the details is still necessary.
>
> The RFC contains a section with common criticism and objections to
> attributes, and I hope to have collected and responded to a good amount
> already from previous discussions.
>
> There is also a fair amount of implementation detail still up for debate,
> which is noted in "Open Issues". I have pre-committed to one approach, but
> listed alternatives there. On these issues I am looking for your feedback..
>
> greetings
> Benjamin
>