2017 © Pedro Peláez
 

library symfony-container-generator

Generic Symfony DI Container Builder

image

inviqa/symfony-container-generator

Generic Symfony DI Container Builder

  • Thursday, May 18, 2017
  • by inviqa-session
  • Repository
  • 18 Watchers
  • 4 Stars
  • 8,709 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 8 Forks
  • 1 Open issues
  • 19 Versions
  • 4 % Grown

The README.md

Scrutinizer Code Quality Build Status, (*1)

symfony-container-generator

Generates and caches a standalone Symfony DI container. You can use this to easily use Symfonys DI Container in any legacy project, all you need to provide is a list of folders where the DI Container configuration is stored, whether you are in debug or production mode, and the format your configuration files are in., (*2)

Usage

Create a new Configuration object, (*3)

$generatorConfiguration = ContainerTools\Configuration::fromParameters(
    '/var/cache/container.php',              // name of file for compiled container
    ['/etc/services/', '/project/services'], // where to expect services.xml and services_test.xml
    true |                                   // debug mode - caches container.php with meta file and only regenerates when resources are modified
    false,                                   // production mode - caches container.php and doesn't regenerate unless deleted
    'xml'|'yml'                              // services extension 'xml' or 'yml'
);

Instantiate a ContainerGenerator, and fetch the container from it:, (*4)

    $generator = new \ContainerTools\ContainerGenerator($generatorConfiguration);

    $container = $generator->getContainer();

    $mailer = $container->get('acme.mailer');

ContainerGenerator expects at least one services.xml file to exist, and will throw an exception if none are found., (*5)

If you need to define lazy services, install the ProxyManager Bridge package:, (*6)

    composer require symfony/proxy-manager-bridge

Test Services

Sometimes it's neccessary, in a test environment, to provide mock services that replace the real services, these can be provided in services_test.xml and use the configuration switch:, (*7)

$generatorConfiguration->setTestEnvironment(true);

If any service_test.xml files exist they will be loaded subsequently. Symfony's configuration loader will merge the configurations and override test service definitions with production ones. (similarly for services.yml if 'yml' is configured), (*8)

As of version 0.3.0 ContainerGenerator uses the ConfigCache component, which keeps track of resources and regenerated the cached container only when a resource is modified. This means that if debug mode is enabled, a file called /var/cache/container.php.meta will be generated in the same folder as the cached container., (*9)

The Versions

18/05 2017
08/04 2016
09/11 2015
02/09 2015

dev-feature/refactor-and-fix-specx

dev-feature/refactor-and-fix-specx

Generic Symfony DI Container Builder

  Sources   Download

The Requires

 

The Development Requires

23/08 2015
22/08 2015

dev-hotfix/read-mutiple-services-files-with-same-name

dev-hotfix/read-mutiple-services-files-with-same-name

Generic Symfony DI Container Builder

  Sources   Download

The Requires

 

The Development Requires

22/08 2015
19/08 2015
19/08 2015
19/08 2015
17/08 2015
17/08 2015
13/08 2015
31/07 2015

0.1.3

0.1.3.0

Generic Symfony DI Container Builder

  Sources   Download

The Requires

 

The Development Requires

03/07 2015

0.1.2

0.1.2.0

Generic Symfony DI Container Builder

  Sources   Download

The Requires

 

The Development Requires

21/05 2015

0.1.1

0.1.1.0

Generic Symfony DI Container Builder

  Sources   Download

The Requires

 

The Development Requires

17/05 2015

0.1.0

0.1.0.0

Generic Symfony DI Container Builder

  Sources   Download

The Requires

 

The Development Requires