This repository has been archived on 2025-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
drupalcampbristol/vendor/symfony/dependency-injection
2015-11-17 16:48:54 -08:00
..
Compiler Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
Dumper Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
Exception Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
Extension Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
LazyProxy Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
Loader Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
ParameterBag Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
.gitignore Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
Alias.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
CHANGELOG.md Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
composer.json Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
Container.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
ContainerAware.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
ContainerAwareInterface.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
ContainerAwareTrait.php Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
ContainerBuilder.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
ContainerInterface.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
Definition.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
DefinitionDecorator.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
ExpressionLanguage.php Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
ExpressionLanguageProvider.php Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
IntrospectableContainerInterface.php Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
LICENSE Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
Parameter.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
phpunit.xml.dist Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
README.md Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
Reference.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
Scope.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
ScopeInterface.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
SimpleXMLElement.php Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00
TaggedContainerInterface.php Update to Drupal 8.0-dev-2015-11-17. Commits through da81cd220, Tue Nov 17 15:53:49 2015 +0000, Issue #2617224 by Wim Leers: Move around/fix some documentation. 2015-11-17 16:48:54 -08:00
Variable.php Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663 2015-10-08 15:13:01 -07:00

DependencyInjection Component

DependencyInjection manages your services via a robust and flexible Dependency Injection Container.

Here is a simple example that shows how to register services and parameters:

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;

$sc = new ContainerBuilder();
$sc
    ->register('foo', '%foo.class%')
    ->addArgument(new Reference('bar'))
;
$sc->setParameter('foo.class', 'Foo');

$sc->get('foo');

Method Calls (Setter Injection):

$sc = new ContainerBuilder();

$sc
    ->register('bar', '%bar.class%')
    ->addMethodCall('setFoo', array(new Reference('foo')))
;
$sc->setParameter('bar.class', 'Bar');

$sc->get('bar');

Factory Class:

If your service is retrieved by calling a static method:

$sc = new ContainerBuilder();

$sc
    ->register('bar', '%bar.class%')
    ->setFactory(array('%bar.class%', 'getInstance'))
    ->addArgument('Aarrg!!!')
;
$sc->setParameter('bar.class', 'Bar');

$sc->get('bar');

File Include:

For some services, especially those that are difficult or impossible to autoload, you may need the container to include a file before instantiating your class.

$sc = new ContainerBuilder();

$sc
    ->register('bar', '%bar.class%')
    ->setFile('/path/to/file')
    ->addArgument('Aarrg!!!')
;
$sc->setParameter('bar.class', 'Bar');

$sc->get('bar');

Resources

You can run the unit tests with the following command:

$ cd path/to/Symfony/Component/DependencyInjection/
$ composer install
$ phpunit