On Tue, Feb 17, 2015 at 1:15 AM, Yasuo Ohgaki <yohg...@ohgaki.net> wrote:
> 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. > I don't have strong opinion - what is better for DbC, PHP syntax or annotations. Now I made some research on annotations, because I think it may be useful not only for DbC. Thanks. Dmitry. > 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 >