jonsa / silex-ioc
Silex应用的IoC
v0.2.0
2015-10-07 22:13 UTC
Requires
- jonsa/pimple-ioc: 1.3.*
- silex/silex: ~2.0@dev
Requires (Dev)
- phpunit/phpunit: 4.8.*
This package is not auto-updated.
Last update: 2024-09-28 19:09:21 UTC
README
用于Silex应用的类解析器。
本项目是Pimple IoC与Silex应用之间的桥梁。
安装
使用命令行将IoC容器添加到您的composer.json
中。
composer require jonsa/silex-ioc
用法
类解析器已在Silex中注册为ServiceProvider
use Jonsa\PimpleResolver\ServiceProvider as PimpleResolverServiceProvider; use Jonsa\SilexResolver\ServiceProvider as SilexResolverServiceProvider; use Silex\Application; $app = new Application(); $app->register(new PimpleResolverServiceProvider()); $app->register(new SilexResolverServiceProvider());
事件
Silex事件分配器已与PimpleResolver注册,这使得将其注入解析器变得简单。
use Jonsa\PimpleResolver\Event\ClassResolvedEvent; use Jonsa\PimpleResolver\Events as ResolverEvents; $app->on(ResolverEvents::CLASS_RESOLVED, function (ClassResolvedEvent $event) { $object = $event->getResolvedObject(); ... });
配置
ServiceProvider有一个配置参数。
class ServiceProvider implements ServiceProviderInterface { public function __construct($resolveControllers = true) { ... } }
$resolveControllers
告诉ServiceProvider是否替换Silex中内置的控制器解析器。如果设置为true,控制器将通过IoC容器解析。