Saxulum / SaxulumControllerProvider
该包已被弃用且不再维护。未建议替代包。
控制器注册提供程序
1.1.0
2013-06-30 11:31 UTC
Requires
- php: >=5.3
- silex/silex: ~1.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
- symfony/browser-kit: >=2.3,<3.0
This package is not auto-updated.
Last update: 2020-09-22 19:10:46 UTC
README
与 plain silex-php 兼容
功能
- 使用容器、__construct 和方法注入将控制器注册为服务
- 在控制器内的静态方法中注册它们的行为
要求
- php >=5.3
- silex/silex ~1.0
安装
需要 silex 自身的 ServiceControllerServiceProvider!
$app->register(new ServiceControllerServiceProvider()); $app->register(new SaxulumControllerProvider());
用法
示例控制器 ContainerExampleController 和 ServiceExampleController 实现了 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() ;