getDefaultParameters())); } /** * Gets the 'foo' service. * * @return FooClass A FooClass instance. */ protected function getFooService() { $instance = call_user_func(array('FooClass', 'getInstance'), 'foo', $this->get('foo.baz'), array($this->getParameter('foo') => 'foo is '.$this->getParameter('foo'), 'bar' => $this->getParameter('foo')), true, $this); $instance->setBar($this->get('bar')); $instance->initialize(); sc_configure($instance); return $instance; } /** * Gets the 'bar' service. * * This service is shared. * This method always returns the same instance of the service. * * @return FooClass A FooClass instance. */ protected function getBarService() { if (isset($this->shared['bar'])) return $this->shared['bar']; $instance = new FooClass('foo', $this->get('foo.baz'), $this->getParameter('foo_bar')); $this->shared['bar'] = $instance; $this->get('foo.baz')->configure($instance); return $instance; } /** * Gets the 'foo.baz' service. * * This service is shared. * This method always returns the same instance of the service. * * @return Object A %baz_class% instance. */ protected function getFoo_BazService() { if (isset($this->shared['foo.baz'])) return $this->shared['foo.baz']; $instance = call_user_func(array($this->getParameter('baz_class'), 'getInstance')); $this->shared['foo.baz'] = $instance; call_user_func(array($this->getParameter('baz_class'), 'configureStatic1'), $instance); return $instance; } /** * Gets the 'foo_bar' service. * * This service is shared. * This method always returns the same instance of the service. * * @return Object A %foo_class% instance. */ protected function getFooBarService() { if (isset($this->shared['foo_bar'])) return $this->shared['foo_bar']; $class = $this->getParameter('foo_class'); $instance = new $class(); $this->shared['foo_bar'] = $instance; return $instance; } /** * Gets the 'method_call1' service. * * This service is shared. * This method always returns the same instance of the service. * * @return FooClass A FooClass instance. */ protected function getMethodCall1Service() { require_once '%path%foo.php'; if (isset($this->shared['method_call1'])) return $this->shared['method_call1']; $instance = new FooClass(); $this->shared['method_call1'] = $instance; $instance->setBar($this->get('foo')); $instance->setBar($this->get('foo', ContainerInterface::NULL_ON_INVALID_REFERENCE)); if ($this->has('foo')) { $instance->setBar($this->get('foo', ContainerInterface::NULL_ON_INVALID_REFERENCE)); } if ($this->has('foobaz')) { $instance->setBar($this->get('foobaz', ContainerInterface::NULL_ON_INVALID_REFERENCE)); } return $instance; } /** * Gets the 'factory_service' service. * * This service is shared. * This method always returns the same instance of the service. * * @return Object An instance returned by foo.baz::getInstance(). */ protected function getFactoryServiceService() { if (isset($this->shared['factory_service'])) return $this->shared['factory_service']; $instance = $this->get('foo.baz')->getInstance(); $this->shared['factory_service'] = $instance; return $instance; } /** * Gets the alias_for_foo service alias. * * @return FooClass An instance of the foo service */ protected function getAliasForFooService() { return $this->get('foo'); } /** * Returns service ids for a given tag. * * @param string $name The tag name * * @return array An array of tags */ public function findTaggedServiceIds($name) { static $tags = array ( 'foo' => array ( 'foo' => array ( 0 => array ( 'foo' => 'foo', ), 1 => array ( 'bar' => 'bar', ), ), ), ); return isset($tags[$name]) ? $tags[$name] : array(); } /** * Gets the default parameters. * * @return array An array of the default parameters */ protected function getDefaultParameters() { return array( 'baz_class' => 'BazClass', 'foo_class' => 'FooClass', 'foo' => 'bar', ); } }