jonsa / silex-ioc

Silex应用的IoC

v0.2.0 2015-10-07 22:13 UTC

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容器解析。