Hi Richard, The first proposed patch has some performance impact, due to the parsing time. And that's just it. Instantiation of annotation classes is irrelevant because it only happens when you explicitly request for it at runtime. The only drawback is that it cannot be cached in APC.
Cheers, On Tue, Nov 16, 2010 at 10:32 AM, Richard Quadling <rquadl...@gmail.com> wrote: > On 16 November 2010 07:06, Zeev Suraski <z...@zend.com> wrote: >>> -----Original Message----- >>> From: Pierre Joye [mailto:pierre....@gmail.com] >>> Sent: Tuesday, November 16, 2010 1:45 AM >>> To: Zeev Suraski >>> Cc: guilhermebla...@gmail.com; PHP internals >>> Subject: Re: [PHP-DEV] PHP 5.4 - Meta attribute (aka. Annotations) support >>> discussion >>> >>> On Tue, Nov 16, 2010 at 12:39 AM, Zeev Suraski <z...@zend.com> wrote: >>> > Suggesting phpdoc is used for the purposes mentioned does not mean we >>> don't understand what we're talking about. >>> >>> I feel like you never used annotations in other languages, did you? >> >> You got me... But as an intelligent human being I'd like to think I can >> evaluate the merits of a feature without having to actually use it. >> >> I'm not saying that annotations don't give you any value. Sure they do. >> I'm saying that they come at a great price of adding an obscure branch of >> syntax into a language that's already grown significantly in complexity, and >> the bang for the buck isn't worth it. Those advanced developers needing >> that feature can make do with phpdoc. >> >> Zeev > > Hi all. > > I use PHPDoc. I develop SOAP services and use ZF to autocreate my WSDL > files. I've used tools to create classes from a WSDL file. I don't > know how this qualifies specifically as "annotations" - so I'm > probably in the same camp as Zeev on this. > > An issue for me is the lack of ongoing development (it seems) of > phpdoc. Yes, sure, it is for documentation. But that is just one sort > of annotation. [1] > > I think having a mechanism which is easily understood in both human > and machine terms and obeys a simple, expandable syntax, then this > would seem to be extremely useful. > > I like the idea of JSON encoded annotations. JSON is very simple to > understand (if you can manually create a nested associative array in > PHP, you can create JSON encoded data). > > I think for more complex annotations, a simple @tag doesn't seem like > it is going to be enough. There is no way to nest the tags in any > meaningful and validatable way. At least not in a way that is obvious > when you read it. Also, for every new @tag, you have to tell PHPDoc to > ignore it as it will produces noise. > > But consider now the amount of PHPDoc blocks out there. A PHPDoc -> > annotations converter would have to be developed. Theoretically, one > _SHOULD_ be able to do that using a PHPDoc template - I think - not an > area I know well. > > > One issue mentioned is that having annotations will have a > "performance hit" on PHP. > > I'm obviously missing something here. If the annotation is in a > blockcomment, then that would seem to satisfy the performance issue. > Reading the annotation for normal runtime execution would seem wrong. > Only as part of reflection or annotation specific access should the > block be "decoded" into whatever form is required. > > So, aren't annotations really just an extension to the docblock > decoding aspects of reflection? Do we have a "performance hit" because > of reflection? > > > I know I know very little about the impact on PHP, but a simple syntax > wrapped in a comment would really seem to be an ideal approach to me. > So much so, I'm almost surprised we need anything in the core at all. > > > > Regards, > > Richard. > > [1] http://en.wikipedia.org/wiki/Annotation#Software_programming > > -- > Richard Quadling > Twitter : EE : Zend > @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY > -- Guilherme Blanco Mobile: +55 (16) 9215-8480 MSN: guilhermebla...@hotmail.com São Paulo - SP/Brazil -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php