mrprompt / silex-di-container-provider
A simple dependency injection builder to Silex
Installs: 1 058
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 4
Open Issues: 0
Requires
- php: >=5.6
Requires (Dev)
- deralex/yaml-config-service-provider: ~1.0
- phpunit/phpunit: ^4.8
- silex/silex: 1.*@dev
This package is auto-updated.
Last update: 2024-10-21 06:56:48 UTC
README
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 :)