chrisjohnson00/controller-callback-bundle

This package is abandoned and no longer maintained. No replacement package was suggested.

A Symfony 2 bundle to add controller pre/post calls via route configuration

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

This package is not auto-updated.

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


README

A Symfony 2 bundle which adds the ability to configure a controller function call before or after the action is called

Continuous Integration

Build Status Scrutinizer Code Quality Code Coverage

Installation

Installation by Composer

Add ControllerCallbackBundle bundle as a dependency to the composer.json of your application

"require": {
    ...
    "chrisjohnson00/controller-callback-bundle": "dev-master"
    ...
},

Or on the command line with composer require chrisjohnson00/controller-callback-bundle

Add ControllerCallbackBundle to your application kernel.

// app/AppKernel.php
<?php
    // ...
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new ChrisJohnson00\ControllerCallbackBundle\ChrisJohnson00ControllerCallbackBundle(),
        );
    }

Example Usage

    <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>

The above will result in calling the Api controller method named setRouteParameters by passing in an associative array of all keys (including the id in the uri)

The setRouteParameters method may look something like

    public function setRouteParameters(array $parameters)
    {
        $this->setRepository($parameters['repository']);
        $this->setType($parameters['type']);
        if (isset($parameters['id']))
            $this->setId($parameters['id']);
    }