Hello All, I'm new to this list, so please excuse me if this subject was already discussed, or proposed.
I've made an experimental patch to ZendEngine/PHP (5.3.5) to allow native annotations (without doc comments), using the token @@ (the @ was already taken). It allows 0 or more annotations (with 0 or more arguments each one) for classes, properties, methods, and arguments for methods, like: @@Annotation(key="value1") class A { @@Annotation(key="value1") private $property; @@Annotation(key="value1") private function aMethod(@@Annotation(key="value1") @@Annotation2 $a, $b) { ... } } The patch can be found at: https://github.com/marcelog/AnoForPHP. The annotations and their optional arguments can be retrieved via the getAnnotations() method of ReflectionClass, ReflectionMethod, ReflectionParameter, and ReflectionProperty. I plan to extend this patch with some extended functionality, like having PHP instantiate a given class for the given annotation. By using convention instead of configuration, the name of the annotation is the name of the class, which should also extend some PHP base class, like "Annotation". I'm basically looking for comments on the patch and the functionality, since I'm new to the ZendEngine as well. Again, I'm sorry if this post should not go here or there is not interest in such a feature in the language itself. Also, if I missed something in the code of the patch, because it's more like a proof-of-concept than a final formal proposal. Regards! -- // I don't sleep. I coffee. "Make everything as simple as possible, but not simpler." -- Albert Einstein "The class object inherits from Chuck Norris." "Chuck Norris can divide by zero and can unit test an entire application with a single assert." "There’s a lot of work happening behind the scenes, courtesy of the Spring AOP framework" "Why do I have this nagging hunch that you have no idea what you're doing?" "Any society that would give up a little liberty to gain a little security will deserve neither and lose both" - Benjamin Franklin -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php