Hi Dmitry,

On Mon, Feb 16, 2015 at 8:07 PM, Dmitry Stogov <dmi...@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...
>

Although, I prefer simple DbC as PHP syntax, my priority is introducing DbC
to PHP. No problem for me.

For both annotation and PHP syntax, we should concentrate "simple" (i.e.
without strong type safety. Don't read me wrong, I'm not saying without
type check) DbC. IMHO.

Regards,

--
Yasuo Ohgaki
yohg...@ohgaki.net

Reply via email to