Hi,

>> %Annotation(%Email(checkMX = true));

at first I thought what for an ugly syntax. But after a time I think it
is regardless of whether the % or @(from Java, which I prefer over all,
if it were possible) syntax is used. It looks very similar. So I prefer
the % syntax so we can use the [] for defining arrays in annotations. Is
it possible to define objects from type stdClass in the form
%Annotation({key: 'value'})?

An other question. Is it necessary to terminate an annotation with a
semicolon, like in your example?

class Compiler {

    /**
     * Compile a node into plain PHP.
     *
     * @param Node $node The node to compile.
     */
    %Annotation(%Email(checkMX = true))
    %ResourceParameter(['key' => 'name', 'value' => 'annotation'])
    %Inject('\my\name\space\Class')
    %Test
    %Annotation({key: 'value'})
    public function compile(Node $node) {

    }
}

Greetings,
Christian

Am 11.09.2010 02:23, schrieb Pierrick Charron:
> Hi Stas,
>
> Annotations is a new concept in PHP (even if some framework already
> use an user space implementation of them) and I think it is normal
> that people will have to read a little bit about this eventually new
> feature before using it. This is the same thing for traits, if you
> don't know what is a trait you will not know how to use them. But once
> you know the concept it's really easy to understand what is an
> annotation class, parameter etc...
>
> Is it really the [] Syntax that you don't like for annotations ? I was
> personally not against the [] array syntax and I understand that this
> annotation syntax will make the future implementation of this [] array
> syntax impossible. So I could change it to the syntax proposed by
> Etienne in the first thread :
>
> %Annotation(%Email(checkMX = true));
>
> I'm not against any other proposal of syntax so if you have one to
> proposition do not hesitate.
>
> Regards,
> Pierrick
>
>
>
> 2010/9/10 Stas Malyshev <smalys...@sugarcrm.com>:
>> Hi!
>>
>>> [Validation(Email(checkMX=>true))] looks better.
>> Even here it's not clear what is happening. What is "Validation", what is
>> "Email", what is "checkMX" (are they all classes? or only some of them?),
>> what is happening to them (are these classes being instantiated? when? what
>> is passed as parameters? What is the scope of that? etc). Why can we have
>> now two ways to instantiate classes, complete with mix of []s and ()s, but
>> having array syntax using [] is still too complex?
>>
>> --
>> Stanislav Malyshev, Software Architect
>> SugarCRM: http://www.sugarcrm.com/
>> (408)454-6900 ext. 227
>>
>> --
>> PHP Internals - PHP Runtime Development Mailing List
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>


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

Reply via email to