the idea to not evaluate non-constant expressions at all, but just keep AST
and provide interface to read it.
PHP extensions should be able to use them as they like. (evaluate or insert
into AST of function(s), etc).

Thanks. Dmitry.

On Mon, Feb 16, 2015 at 2:36 PM, Benjamin Eberlei <kont...@beberlei.de>
wrote:

>
>
> On Mon, Feb 16, 2015 at 12:07 PM, Dmitry Stogov <dmi...@zend.com> wrote:
>
>> hi,
>>
>> During discussion of different ways of implementing "Design by Contract"
>> we
>> got an idea of using annotations.
>>
>> BTW: annotations are useful by their own and may be used for different
>> purposes. Support for annotations was proposed long time ago:
>>
>> https://wiki.php.net/rfc/annotations
>> https://wiki.php.net/rfc/annotations-in-docblock
>> https://wiki.php.net/rfc/reflection_doccomment_annotations
>>
>> HHVM already implemented similar concept
>>
>> http://docs.hhvm.com/manual/en/hack.attributes.php
>>
>> I made a quick and dirty PoC that shows how we may implement annotations
>> in
>> PHP7 and how powerful they may be :
>> https://gist.github.com/dstogov/dbf2a8f46e43719bd2c2
>>
>> The test there is self explainable. Of course, annotations just provide a
>> way to add metadata, but doesn't define attribute names or the ways they
>> are going to be used. Only Reflection API to read.
>>
>> There are still a lot of technical problems that have to be solved.
>> Right now, we just need to answer a question - if we like this in PHP7?
>> Thought and opinions are welcome...
>>
>
> oh please yes, yes yes :-) I don't care for the syntax, although this
> looks ok.
>
> One question, when does the php expression get evaluated?
>
>>
>> Thanks. Dmitry.
>>
>
>

Reply via email to