On 21 April 2016 at 22:13, Dmitry Stogov <dmi...@zend.com> wrote: > Hi, > > > I would like to present an RFC proposing support for native annotation. >
Hi Dmitry, Although everyone will have an opinion about the syntax, I think there is one criticism that should be thought about; the chosen syntax isn't future expandable to other concerns. People have talked about "design by contract" RFCs where annotation like data is readable by the engine. The current proposed syntax _could_ be used to store DBC data, but it would not be clear what would be annotation data to read by the application, and what was DBC data to be read by the engine. Changing the proposed syntax to be something like @attr(...) would allow it to be expanded in the future by adding a @contract(...) construct: @attr(test($a + $b > 0)) // This is attribute data read by userland code @contract(require($a + $b > 0, 'InvalidFooArgsException')) // This is DBC data read by the engine. function foo($a, $b) { ... } Making features be compatible with future features would avoid a lot of potential pain down the road. cheers Dan -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php