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) > I have used this in many projects > to extend the core components in InterJinn to provide customers with > tailored functionality for their own specific needs. A simple example > was overriding the mail service to dupe outgoing emails and store in an > archive. It was as simple as extending the JinnMail class, overriding > the send() method, and overriding the service registration. And voila, > all existing code across the project automatically inherited the > functionality, and the distribution code didn't need to be touched. > > Cheers, > Rob. * 'goodness' as in 'pile of shit' -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php