chrisjohnson00/controller-callback-bundle

此包已被废弃,不再维护。未建议替代包。

一个用于通过路由配置添加控制器预/后调用的 Symfony 2 包

dev-master 2014-09-14 00:56 UTC

This package is not auto-updated.

Last update: 2021-01-22 21:00:36 UTC


README

一个添加在动作调用之前或之后配置控制器函数调用的能力的 Symfony 2 包

持续集成

Build Status Scrutinizer Code Quality Code Coverage

安装

通过 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']);
    }