Re: - True Annotations
| From: | Yahav Gindi Bar | Date: | Wed, 09 Jan 2013 12:03:08 +0000 |
| Subject: | Re: - True Annotations | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-64728@lists.php.net to get a copy of this message | ||
On Wed, Jan 9, 2013 at 1:57 PM, Christian Kaps <christian.kaps@mohiva.com>wrote:
> Hi,
>
>
> I agree here, I think the above, if possible would be best. In my
>> mind annotations should proabably be limited in scope to class
>> declarations and thus only before a class keyword, before a property
>> or method declaration.
>>
>> In none of those scopes would [ ] be a parsing issue I believe...
>>
>> The one case would be at the beginning of a class, but if simply
>> added something such as:
>> [:SomeAttribute(xyz,abc),**SomeAttribute2]
>>
>> It could never be confused with short array syntax and is still brief.
>>
>
> I think when implementing real annotations, then it should be possible to
> declare arrays in it. So I think the square brackets don't work.
> [Foo([1,2,3])]
>
> Cheers,
> Christian
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
> But the colon prefix won't cover this case?
You can, as I've mentioned in my post at the doc-block parser discussion,
use a keyword inside the brackets to symbolize annotation, for example
[metadata: Key]
[metadata: MaxLength(10)]
[metadata: Relations(["foo", "bar", "baz"])]
public $id;