Robert Cummings wrote: > On Wed, 2006-08-02 at 18:08 +0200, Jochem Maas wrote: >> Robert Cummings wrote: >>> On Wed, 2006-08-02 at 15:51 +0300, karthikeyan balasubramanian wrote: >>>> Speaking about framework. Anybody is aware there is a very popular >>>> framework in Java called Spring which has pretty cool features like >>>> "Inversion of Control", "Dependency Injection" etc. >>> Sounds similar to the service system implemented in InterJinn. I >>> implemented a lookup system allowing retrieval of service objects by >>> custom names. This allows the mapping to be overriden with userland >>> re-definitions which may or may not extend the original class. In this >>> way, a developer can replace components and services without the need to >>> change the code that makes use of such objects. The only caveat is that >>> the override must at least support the methods and properties for the >>> service or component being overriden. >> I guess you'll be needing the strict method signature 'goodness'* to make >> you code better and more robust heh ;-) >> >> (and yes I have been following *that* thread on internals) > > *lol* No, I don't believe in forcing the issue. For instance providing > method support does not necessarily mean same signature. For instance a > subclass may provide a default value in the parameters effectively > changing the signature of the parent class yet still keeping > compatibility. I think the "strict" thing being discussed on the > internals is nice to have, but I prefer the ability to change the > signature when you know what you are doing, or ultimately some kind of > method overloading based on parameter types signatures :) I am in the > "give PHP users the power they want" camp, and not in the "put a cage > around OOP users" camp. :) I did gather that from you posts. I have mostly refrained from commenting myself because I have been flamed plenty in times past for daring to comment on the 'purism crusade' that has been unfolding since about 5.0.2 (I did comment on the problem of E_STRICT being misused for depreciated stuff, meaning that causing an E_STRICT on 'loose' subclass methods means your basically saying 'shit code, shit code' by implication) me I'm on the same band wagon, shove enforced strictness where the sun doesn't shine. (and while your at it give me 'late static binding', which A should have been in there from the beginning and B is a basic OO concept that is implemented in every other decent dynamically-typed OO language). don't get me started on iterators in ruby and how flexible it is in changing stuff (like method parameters - or like redefining a whole class at runtime). hmmm :-/ pity my ruby skills suck. :-P > > Cheers, > Rob. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php