methodMap = array( 'service_from_anonymous_factory' => 'getServiceFromAnonymousFactoryService', 'service_with_method_call_and_factory' => 'getServiceWithMethodCallAndFactoryService', ); } /** * Gets the 'service_from_anonymous_factory' service. * * This service is shared. * This method always returns the same instance of the service. * * @return \Bar\FooClass A Bar\FooClass instance */ protected function getServiceFromAnonymousFactoryService() { return $this->services['service_from_anonymous_factory'] = (new \Bar\FooClass())->getInstance(); } /** * Gets the 'service_with_method_call_and_factory' service. * * This service is shared. * This method always returns the same instance of the service. * * @return \Bar\FooClass A Bar\FooClass instance */ protected function getServiceWithMethodCallAndFactoryService() { $this->services['service_with_method_call_and_factory'] = $instance = new \Bar\FooClass(); $instance->setBar(\Bar\FooClass::getInstance()); return $instance; } }