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...

Thanks. Dmitry.

Reply via email to