Saxulum/SaxulumControllerProvider

该包已被弃用且不再维护。未建议替代包。

控制器注册提供程序

1.1.0 2013-06-30 11:31 UTC

This package is not auto-updated.

Last update: 2020-09-22 19:10:46 UTC


README

与 plain silex-php 兼容

Build Status Total Downloads Latest Stable Version Scrutinizer Code Quality

功能

  • 使用容器、__construct 和方法注入将控制器注册为服务
  • 在控制器内的静态方法中注册它们的行为

要求

  • php >=5.3
  • silex/silex ~1.0

安装

需要 silex 自身的 ServiceControllerServiceProvider

$app->register(new ServiceControllerServiceProvider());
$app->register(new SaxulumControllerProvider());

用法

示例控制器 ContainerExampleControllerServiceExampleController 实现了 ControllerRouteInterface

public static function addRoutes(Application $app, $serviceId)
{
    $app
        ->get('/container', $serviceId . ':indexAction')
        ->bind('container_index')
    ;
}
$app['controller.map']
    ->addController()
        ->setNamespace('Saxulum\SaxulumControllerProvider\Controller\ContainerExampleController')
        ->setServiceId('saxulum.saxulumcontrollerprovider.controller.containerinjectcontroller')
        ->setInjectContainer(true)
    ->end()
    ->addController()
        ->setNamespace('Saxulum\SaxulumControllerProvider\Controller\ServiceExampleController')
        ->setServiceId('saxulum.saxulumcontrollerprovider.controller.serviceController')
        ->setInjectionKeys(array('test.data'))
        ->addMethod()
            ->setName('setTestData1')
            ->setInjectionKeys(array('test.data'))
        ->end()
        ->addMethod()
            ->setName('setTestData2')
            ->setInjectionKeys(array('test.data'))
        ->end()
    ->end()
;