2017 © Pedro PelĂĄez
 

library dependency-injection

Provide util classes to manipulate Dependency Injection in Symfony

image

yokai/dependency-injection

Provide util classes to manipulate Dependency Injection in Symfony

  • Saturday, January 13, 2018
  • by yann-eugone
  • Repository
  • 2 Watchers
  • 1 Stars
  • 11,335 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 55 % Grown

The README.md

Dependency Injection

Installation

``` bash $ php composer.phar require yokai/dependency-injection, (*1)


## Compiler Pass ``` php <?php namespace AppBundle; use Yokai\DependencyInjection\CompilerPass\ArgumentRegisterTaggedServicesCompilerPass; use Yokai\DependencyInjection\CompilerPass\AdderRegisterTaggedServicesCompilerPass; use Yokai\DependencyInjection\CompilerPass\SetterRegisterTaggedServicesCompilerPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpKernel\Bundle\Bundle; class AppBundle extends Bundle { public function build(ContainerBuilder $container) { $container ->addCompilerPass( new ArgumentRegisterTaggedServicesCompilerPass( 'some_service_id', 'some_tag_name', 'An\Optional\Interface\To\Check', 0 ) ) ->addCompilerPass( new AdderRegisterTaggedServicesCompilerPass( 'some_service_id', 'some_tag_name', 'An\Optional\Interface\To\Check', 'addDependency' ) ) ->addCompilerPass( new SetterRegisterTaggedServicesCompilerPass( 'some_service_id', 'some_tag_name', 'An\Optional\Interface\To\Check', 'setDependencies' ) ) ; } }

ArgumentRegisterTaggedServicesCompilerPass

This compiler pass will :, (*2)

  • check for the service (first argument) existence (throw LogicException if not)
  • find services tagged with tag (second argument)
  • if provided, check every service against an interface (third argument) (throw LogicException if not)
  • sort these references base on a priority attribute
  • replace an argument (fourth argument) of your service definition with the sorted references

AdderRegisterTaggedServicesCompilerPass

This compiler pass will :, (*3)

  • check for the service (first argument) existence (throw LogicException if not)
  • find services tagged with tag (second argument)
  • if provided, check every service against an interface (third argument) (throw LogicException if not)
  • sort these references base on a priority attribute
  • call a method (fourth argument) for each sorted references

SetterRegisterTaggedServicesCompilerPass

This compiler pass will :, (*4)

  • check for the service (first argument) existence (throw LogicException if not)
  • find services tagged with tag (second argument)
  • if provided, check every service against an interface (third argument) (throw LogicException if not)
  • sort these references base on a priority attribute
  • call a method (fourth argument) with all sorted references

MIT License

License can be found here., (*5)

Authors

The bundle was originally created by Yann Eugoné. See the list of contributors., (*6)

The Versions

13/01 2018

dev-master

9999999-dev

Provide util classes to manipulate Dependency Injection in Symfony

  Sources   Download

MIT

The Requires

 

The Development Requires

by Yann Eugoné

dependency injection symfony

13/01 2018

v1.2

1.2.0.0

Provide util classes to manipulate Dependency Injection in Symfony

  Sources   Download

MIT

The Requires

 

by Yann Eugoné

dependency injection symfony

08/06 2017

v1.1

1.1.0.0

Provide util classes to manipulate Dependency Injection in Symfony

  Sources   Download

MIT

The Requires

 

The Development Requires

by Yann Eugoné

dependency injection symfony

08/06 2017

dev-bugfix-symfony-flex-compatibility

dev-bugfix-symfony-flex-compatibility

Provide util classes to manipulate Dependency Injection in Symfony

  Sources   Download

MIT

The Requires

 

The Development Requires

by Yann Eugoné

dependency injection symfony

01/06 2016

v1.0

1.0.0.0

Provide util classes to manipulate Dependency Injection in Symfony

  Sources   Download

MIT

The Requires

 

The Development Requires

by Yann Eugoné

dependency injection symfony