I like the idea, Alec. My only question is, syntactically, what difference would using a keyword, in this case "attribute", as opposed to brackets "[]"?
On Tue, Nov 16, 2010 at 9:38 PM, Alec Gorge <alecgo...@gmail.com> wrote: > Ah, thanks. > > This is my proposed syntax and examples of it being used: > https://gist.github.com/702925 > > Here is my answer to those questions: > > - PHP code > - See the gist for syntax > - Return object instances of the annotation because then you can call > methods on the annotation if you need to (it think it would be useful) > - Can you APC cache ones that exist at compile time and then not cache ones > that are created at runtime (since they are likely to change anyways, > request to request)? > - Method argument order to maintain consistency with PHP syntax. Named > arguments if PHP ever gets 'em. The grammar addition should use the grammar > already there in the grammar file for calling methods so that it always > works with the new way of calling methods and functions. > - Yes for inherited metadata as long as you can filter it out (exactly like > in the RFC). > > A another comment: > > getAnnotation($name) and getAnnotation($name, $type) both have to become > getAnnotations and then always return an array. This makes things more > consistent and allows for multiple metadata structures for each method. > > The gist I posted would be a fully working API (albeit very basic with no > proper error/exception handling) if the url parsing code was put in, but I > left it out for brevity. > > Opinions? > > -Alec > > > > > On 11/16/2010 9:39 PM, guilhermebla...@gmail.com wrote: > >> Hi Alec, >> >> Here is the quick list: >> - Where to put the metadata information? docblock or though php code? >> - Syntax (based on first decision) >> - Return would be an array or object instances >> - Compile time or run time (decision is more about APC being able to >> cache, but instances being created at runtime automatically or no APC >> cache but instances only being created when requested (during >> Reflection call) >> - Named variables for instantiation or method arguments order? How >> would we deal with the need of Reflector during constructor if second >> sounds better? >> - Would we support inherited metadata? >> >> Cheers, >> >> On Wed, Nov 17, 2010 at 12:33 AM, Alec Gorge<alecgo...@gmail.com> wrote: >> >>> In my opinion (as a person with 0 karma), I think that sounds reasonable >>> because most people are most concerned about the actual implementation >>> (syntax, performance, apc etc) because I don't think many argue that >>> Metadata doesn't have value. >>> >>> What are the 5 different discussion topics you are thinking of, just out >>> of >>> curiosity? >>> >>> Also, I can just post my syntax idea as a gist or pastie or something >>> instead of making an rfc... >>> >>> -Alec >>> >>> On 11/16/2010 9:29 PM, guilhermebla...@gmail.com wrote: >>> >>>> Hi Stas, >>>> >>>> Ok, so you think I should just consider everyone want some sort of >>>> meta attribute support and start discussing the topics? >>>> Should I separate it in different threads or put it all here? >>>> >>>> The subject is big and I identify at least 5 different discussions >>>> that can diverge. >>>> >>>> Cheers, >>>> >>>> On Wed, Nov 17, 2010 at 12:26 AM, Stas Malyshev<smalys...@sugarcrm.com> >>>> wrote: >>>> >>>>> Hi! >>>>> >>>>> I'm able to write 10 RFC's, but none will care until we reach this >>>>>> list with a patch. >>>>>> >>>>> Not entirely true. Patch helps, but with feature this big and complex >>>>> having >>>>> consensus on design before actually implementing it may be better and >>>>> save >>>>> you some time. >>>>> As for polls, I think generic "having annotations" poll is not very >>>>> useful. >>>>> It's like having a poll "should we have cool features in PHP?" Of >>>>> course >>>>> we >>>>> should! The devil is in the details. And so far the details of this >>>>> thing >>>>> contain a significant number of devils we have to handle. >>>>> -- >>>>> Stanislav Malyshev, Software Architect >>>>> SugarCRM: http://www.sugarcrm.com/ >>>>> (408)454-6900 ext. 227 >>>>> >>>>> >>>> >> >> > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Thanks, Will Fitch Director of Operations | Quepasa.com 931.205.8242 | will.fi...@quepasacorp.com Twitter: twitter.com/willfitch