This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php

257 lines
7.1 KiB
PHP
Raw Normal View History

2010-01-04 14:26:20 +00:00
<?php
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\Container;
use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
use Symfony\Component\DependencyInjection\Exception\LogicException;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\Parameter;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
2010-01-04 14:26:20 +00:00
/**
* ProjectServiceContainer
*
* This class has been auto-generated
* by the Symfony Dependency Injection Component.
*/
class ProjectServiceContainer extends Container
2010-01-04 14:26:20 +00:00
{
/**
* Constructor.
*/
public function __construct()
{
2010-06-27 17:28:29 +01:00
parent::__construct(new ParameterBag($this->getDefaultParameters()));
}
/**
2011-01-26 23:14:31 +00:00
* Gets the 'bar' service.
*
* This service is shared.
* This method always returns the same instance of the service.
*
* @return FooClass A FooClass instance.
*/
2011-01-26 23:14:31 +00:00
protected function getBarService()
{
2011-01-26 23:14:31 +00:00
$this->services['bar'] = $instance = new \FooClass('foo', $this->get('foo.baz'), $this->getParameter('foo_bar'));
2011-01-05 11:13:27 +00:00
2011-01-26 23:14:31 +00:00
$this->get('foo.baz')->configure($instance);
return $instance;
}
/**
* Gets the 'baz' service.
*
* This service is shared.
* This method always returns the same instance of the service.
*
* @return Baz A Baz instance.
*/
protected function getBazService()
{
$this->services['baz'] = $instance = new \Baz();
$instance->setFoo($this->get('foo_with_inline'));
return $instance;
}
/**
* Gets the 'depends_on_request' service.
*
* This service is shared.
* This method always returns the same instance of the service.
*
* @return stdClass A stdClass instance.
*/
protected function getDependsOnRequestService()
{
$this->services['depends_on_request'] = $instance = new \stdClass();
$instance->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE));
return $instance;
}
/**
2011-01-26 23:14:31 +00:00
* Gets the 'factory_service' service.
*
* This service is shared.
* This method always returns the same instance of the service.
*
* @return Bar A Bar instance.
2011-01-26 23:14:31 +00:00
*/
protected function getFactoryServiceService()
{
return $this->services['factory_service'] = $this->get('foo.baz')->getInstance();
}
/**
* Gets the 'foo' service.
*
* This service is shared.
* This method always returns the same instance of the service.
*
* @return FooClass A FooClass instance.
*/
2011-01-26 23:14:31 +00:00
protected function getFooService()
2010-01-04 14:26:20 +00:00
{
2011-03-10 14:31:00 +00:00
$a = $this->get('foo.baz');
$this->services['foo'] = $instance = call_user_func(array('FooClass', 'getInstance'), 'foo', $a, array($this->getParameter('foo') => 'foo is '.$this->getParameter('foo').'', 'foobar' => $this->getParameter('foo')), true, $this);
2011-01-05 11:13:27 +00:00
2011-01-26 23:14:31 +00:00
$instance->setBar($this->get('bar'));
$instance->initialize();
$instance->foo = 'bar';
$instance->moo = $a;
2011-01-26 23:14:31 +00:00
sc_configure($instance);
return $instance;
2010-01-04 14:26:20 +00:00
}
/**
* 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()
2010-01-04 14:26:20 +00:00
{
$this->services['foo.baz'] = $instance = call_user_func(array($this->getParameter('baz_class'), 'getInstance'));
2011-01-05 11:13:27 +00:00
call_user_func(array($this->getParameter('baz_class'), 'configureStatic1'), $instance);
return $instance;
2010-01-04 14:26:20 +00:00
}
/**
* Gets the 'foo_bar' service.
*
* @return object A %foo_class% instance.
*/
protected function getFooBarService()
{
$class = $this->getParameter('foo_class');
2012-05-01 13:46:26 +01:00
return new $class();
}
/**
* Gets the 'foo_with_inline' service.
*
* This service is shared.
* This method always returns the same instance of the service.
*
* @return Foo A Foo instance.
*/
protected function getFooWithInlineService()
{
$this->services['foo_with_inline'] = $instance = new \Foo();
$instance->setBar($this->get('inlined'));
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';
$this->services['method_call1'] = $instance = new \FooClass();
2011-01-05 11:13:27 +00:00
$instance->setBar($this->get('foo'));
2011-01-05 11:13:27 +00:00
$instance->setBar($this->get('foo2', ContainerInterface::NULL_ON_INVALID_REFERENCE));
if ($this->has('foo3')) {
$instance->setBar($this->get('foo3', ContainerInterface::NULL_ON_INVALID_REFERENCE));
}
2010-06-27 17:28:29 +01:00
if ($this->has('foobaz')) {
$instance->setBar($this->get('foobaz', ContainerInterface::NULL_ON_INVALID_REFERENCE));
}
return $instance;
}
/**
* Gets the 'request' service.
*
* This service is shared.
* This method always returns the same instance of the service.
*
* @throws RuntimeException always since this service is expected to be injected dynamically
*/
protected function getRequestService()
{
throw new RuntimeException('You have requested a synthetic service ("request"). The DIC does not know how to construct this service.');
}
/**
* Gets the alias_for_foo service alias.
*
* @return FooClass An instance of the foo service
*/
protected function getAliasForFooService()
{
return $this->get('foo');
}
/**
* Updates the 'request' service.
*/
protected function synchronizeRequestService()
{
if ($this->initialized('depends_on_request')) {
$this->get('depends_on_request')->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE));
}
}
/**
* Gets the 'inlined' service.
*
* This service is shared.
* This method always returns the same instance of the service.
*
* This service is private.
* If you want to be able to request this service from the container directly,
* make it public, otherwise you might end up with broken code.
*
* @return Bar A Bar instance.
*/
protected function getInlinedService()
{
$this->services['inlined'] = $instance = new \Bar();
$instance->setBaz($this->get('baz'));
$instance->pub = 'pub';
return $instance;
}
/**
* 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',
);
}
2010-01-04 14:26:20 +00:00
}