chrisjohnson00 / controller-callback-bundle
此包已被废弃,不再维护。未建议替代包。
一个用于通过路由配置添加控制器预/后调用的 Symfony 2 包
dev-master
2014-09-14 00:56 UTC
Requires
- php: >=5.3.0
- symfony/symfony: >=2.1
This package is not auto-updated.
Last update: 2021-01-22 21:00:36 UTC
README
一个添加在动作调用之前或之后配置控制器函数调用的能力的 Symfony 2 包
持续集成
安装
通过 Composer 安装
将 ControllerCallbackBundle 包作为依赖项添加到您应用的 composer.json 文件中
"require": {
...
"chrisjohnson00/controller-callback-bundle": "dev-master"
...
},
或者在命令行中使用 composer require chrisjohnson00/controller-callback-bundle
将 ControllerCallbackBundle 添加到您的应用内核中。
// app/AppKernel.php <?php // ... public function registerBundles() { $bundles = array( // ... new ChrisJohnson00\ControllerCallbackBundle\ChrisJohnson00ControllerCallbackBundle(), ); }
示例用法
<route id="quest_read" pattern="/api/quest/{id}" methods="GET"> <default key="repository">FTWGuildBundle:Quest</default> <default key="type">read</default> <default key="_controller">FTWGuildBundle:Api:index</default> <default key="preActionMethod">setRouteParameters</default> </route>
上述操作将调用名为 setRouteParameters 的 API 控制器方法,传入包含所有键的关联数组(包括 URI 中的 id)
setRouteParameters 方法可能看起来像这样
public function setRouteParameters(array $parameters) { $this->setRepository($parameters['repository']); $this->setType($parameters['type']); if (isset($parameters['id'])) $this->setId($parameters['id']); }