Pierrick, before update v3 of patch, let's first clarify things that need to be discussed. Rasmus, you have no idea how happy you made me for a gentle comment pointing something we should think before propose a patch instead of on (sorry for the wording) bitching about the idea.
There're tons of elements that need to be addressed before working on a patch. The latest annotations RFC is a small subset of what other languages support. To a more complete feature-wise, it is required to go to a previous revision: https://wiki.php.net/rfc/annotations?rev=1302087566 Some of the elements that needs to be considered: - Should we support nested annotations? - How [Foo()] will be different from new Foo()? If they are not different, is there an alternative to not bloat lexical parsing? - How parameters would be injected? Is constructor the only way to inject parameters? - How would we handle optional parameters, like [Foo("bar", null, null, "woo")]? - Suppose you wanna fix the optional arguments by named parameters, like [Foo("bar", test="woo")]. Doesn't it diverge with PHP interests of not supporting parametrized arguments? Should we modify the former or the later? Personally I'm a fan of named parameters. - How would we deal with inheritance? Should a method, for example, inherit the same annotations from parent or not? - Suppose that you define annotations to fix the inheritance problem, how would it be? - How would we cast possible usages of an annotation to only class, method or property? Using annotations too? - How would it be the syntax to declare a new annotation? - Would it be possible to modify an annotation value using Reflection, for example? - How could it be handled on APC to minimize the performance impact? Let's discuss? Thanks. On Wed, Jan 9, 2013 at 2:24 PM, Marco Pivetta <ocram...@gmail.com> wrote: > @Stas we've already come to that, and this is a way to store metadata: the > discussion here is just if and how it should get to PHP :) > > Marco Pivetta > > http://twitter.com/Ocramius > > http://ocramius.github.com/ > -- Guilherme Blanco MSN: guilhermebla...@hotmail.com GTalk: guilhermeblanco Toronto - ON/Canada