mrprompt/silex-di-container-provider

A simple dependency injection builder to Silex

1.0.3 2016-08-04 21:08 UTC

This package is auto-updated.

Last update: 2024-10-21 06:56:48 UTC


README

Build Status Code Climate Test Coverage Issue Count SensioLabsInsight Dependency Status Codacy Badge

A simple dependency injection builder to Silex based on YAML file config.

Install

composer require mrprompt/silex-di-builder

Usage

Simple create a di.yml - or other name, of course - file with the structure:

services:
  alias1:
    - Full\Class\Name
    - dependency1

  alias2:
    - Full\ClassTwo\Name
    - dependency1
    - dependency2

When:

  • alias1 - Is the alias from Silex
  • Full\Class\Name and Full\ClassTwo\Name - The class name to initialize
  • dependency1 and dependecy2 - Dependencies from the class, must be an alias previously created or anything

In your application bootstrap, register YAML Config Service Provider, with your DI file


use DerAlex\Silex\YamlConfigServiceProvider;
use SilexFriends\DI\Container as DiServiceProvider;

....

$app->register(new YamlConfigServiceProvider(__DIR__ . '/../Resources/di.yml'));
$app->register(new DiServiceProvider($app['config']['services']));
 
# $app['config']['services'] is an array with yml content, created by YamlConfigServiceProvider

Now, your services is available on $app container.

Testing

Just run phpunit without parameters

phpunit

Happy Silex Coding :)