getDefaultParameters())); } /** * Gets the 'bar' service. * * This service is shared. * This method always returns the same instance of the service. * * @return Object An instance returned by barFactory::createBarClass(). */ protected function getBarService() { $this->services['bar'] = $instance = $this->get('barFactory')->createBarClass(); $this->applyInterfaceInjectors($instance); return $instance; } /** * Gets the 'barfactory' service. * * This service is shared. * This method always returns the same instance of the service. * * @return BarClassFactory A BarClassFactory instance. */ protected function getBarfactoryService() { $this->services['barfactory'] = $instance = new \BarClassFactory(); $this->applyInterfaceInjectors($instance); return $instance; } /** * Applies all known interface injection calls * * @param Object $instance */ protected function applyInterfaceInjectors($instance) { if ($instance instanceof \BarClass) { $instance->setFoo('someValue'); } } }