On Wed, Jan 9, 2013 at 2:09 PM, Christian Kaps <christian.k...@mohiva.com>wrote:

> Am 09.01.2013 13:03, schrieb Yahav Gindi Bar:
>
>> On Wed, Jan 9, 2013 at 1:57 PM, Christian Kaps <christian.k...@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;
>>
>
> Then rather [@Foo([1,2,3])] if it's possible!
>
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
> Yeah, that's cool. To be honest, I took that idea from C# which has, for
example (Quoted from standard template AssemblyInfo.cs):

// Version information for an assembly consists of the following four
values:
//
//      Major Version
//      Minor Version
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build
Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Reply via email to