Re: Annotations in PHP7
| From: | Yasuo Ohgaki | Date: | Mon, 16 Feb 2015 22:24:40 +0000 |
| Subject: | Re: Annotations in PHP7 | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-82897@lists.php.net to get a copy of this message | ||
Hi Dmitry,
On Mon, Feb 16, 2015 at 8:07 PM, Dmitry Stogov <dmitry@zend.com> wrote:
> 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...
>
I also would like to introduce AOP in the future. (or with it)
I thought something like
https://github.com/AOP-PHP/AOP
is good, but we may use annotations. With annotations, we must
define pointcut/etc manually, but AOP by annotation is more
flexible than AspectJ.
Regards,
--
Yasuo Ohgaki
yohgaki@ohgaki.net