is there any chance to add docblocks to arguments in methods and
global functions so annotations can be used for them? i.e:

public function aMethod(/** @Validate */ UserData $data) {
...
}

On Wed, May 11, 2011 at 6:57 PM, guilhermebla...@gmail.com
<guilhermebla...@gmail.com> wrote:
> Hi duke,
>
> I moved it to rejected in pro of a new proposal.
> I briefly drafted it here: https://wiki.php.net/rfc/annotations-in-docblock
>
> There's a lot of things to be officially defined, but basic idea is there.
> I expect to have a chat with interested core devs to see what can be
> done in this subject and find some common sense. =)
>
>
> Cheers,
>
> On Wed, May 11, 2011 at 6:54 PM, dukeofgaming <dukeofgam...@gmail.com> wrote:
>>
>> On Wed, May 11, 2011 at 12:29 PM, guilhermebla...@gmail.com
>> <guilhermebla...@gmail.com> wrote:
>>>
>>> Hi Larz,
>>>
>>> On Wed, May 11, 2011 at 3:35 AM, Lars Schultz <lars.schu...@toolpark.com>
>>> wrote:
>>> > Am 11.05.2011 00:28, schrieb guilhermebla...@gmail.com:
>>> >>
>>> >> - Entities with knowledge about its persistence information
>>> >
>>> > That must be something I simply have no knowledge about. But isn't it
>>> > just a
>>> > theoretical difference, because in practice, the "code" being
>>> > annotations or
>>> > PHP-Code is kept within the class, therefore the entity is not separated
>>> > from its persistence information...but then I don't really understand
>>> > the
>>> > problem in the first place;)
>>> >
>>>
>>> I hope you have OO architecture knowledge.
>>> By having entity implementing an interface/abstract class, you make
>>> your domain classes depending on persistence package.
>>> This dependency breaks OO encapsulation of packages.
>>>
>>> By having the code (annotations) within the class you just meta
>>> classify each property/method of your class.
>>> You probably don't know, but annotations that you use in Doctrine
>>> follows a standard document usually referred as JPA (or JSR-317),
>>> second version.
>>> So, you may be surprised, but any persistence tool that follows this
>>> document would be able to support this Entity. One good example is how
>>> ORM package of Doctrine works and you're able to have your Entity
>>> "schemaless" with almost 0 changes in ODM package (read as CouchDB and
>>> MongoDB).
>>
>> I think part of the problem on the discussion —regarding the acceptance of
>> the feature— is that annotations are being seen just as a "cute feature",
>> instead of an architectural advantage to all good PHP code (i.e. OO taking
>> advantage of design patterns) and its implications. In summary: they are
>> huge. If simple reflection can tell the developers what the code is,
>> annotations let them know what it can be in depending on their context (i.e.
>> behavior is decoupled).
>>>
>>> >> - Resources being wasted
>>> >
>>> > Now you sound like Rasmus when he talks about his assembly-history. Do
>>> > you
>>> > really expect Annotations to perform better than hard-wired php-code?
>>> >
>>>
>>> Yes, and built-in support is WAY faster.
>>
>> If I'm not mistaken, the current comment-parsing solutions are so slow that
>> the annotated classes and methods and attributes *NEED* the metadata to be
>> cached in separate PHP code in order to function, otherwise it would be
>> practically impossible to use them in production sites; conversely, if they
>> were supported natively caching would not be absolutely necessary. Is this
>> the case?, if so, I think it is a strong use case to be considered for the
>> RFC.
>> BTW, why is it rejected in the wiki now?. Is it completely completely
>> rejected?, or just postponed?... if it is just cataloged as declined for
>> now, perhaps it will be harder to retake for discussion later if it appears
>> as declined?.
>>
>
>
>
> --
> 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
>
>



-- 

--
// 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

Reply via email to