Callback Symfony Twig Extension Bundle
TangoMan Callback Twig Extension Bundle provides simple callback manager for symfony projects., (*1)
For example, anytime you need your users to fill a form from a paginated list, your controller will have to redirect them to the page they originated from and you don't want them to loose their parameters from query string., (*2)
TangoMan Callback Twig Extension Bundle provides simple callback function for twig which avoids unnecessary callbacks to stack up indefinitely in users query string., (*3)
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:, (*4)
composer require tangoman/callback-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation., (*5)
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:, (*6)
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { // ... public function registerBundles() { $bundles = array( // ... new TangoMan\CallbackBundle\TangoManCallbackBundle(), ); // ... } }
You don't have to add TangoMan CallbackBundle to the service.yml
of your project.
twig.extension.callback service will load automatically., (*7)
callback(route = null, parameters = [])
Returns current URI removing callback
from query string.
Optionally, returns the absolute URL (with scheme and host) for the given route with given parameters, callback
will be ignored as well., (*8)
route (optional) | parameters (optional) | |
---|---|---|
type | string | array |
default | current uri | [] |
Inside your views:, (*9)
By default callback will be defined on user's current page., (*10)
<a href="{{ path('app_foo_bar', { 'callback': callback() }) }}"> Your Foo Bar link here </a>
But you can optionally redirect user to any route., (*11)
<a href="{{ path('app_delete_foo', { 'callback': callback('app_trash_bin', { 'slug': 'foo' } ) }) }}"> Your Foo Bar link here </a>
Callback function accepts route name and parameters for desired route., (*12)
Inside your action method:, (*13)
public function foobarAction(Request $request) { ... // User is redirected to referrer page return $this->redirect($request->get('callback')); ... }
TangoMan CallbackBundle provides Makefile script to perform unit tests, in order to fit in your continuous integration workflow., (*14)
Enter following command to install required dependencies and execute unit tests:, (*15)
$ make tests
On windows machine you will need to install cygwin or GnuWin make first to execute make script., (*16)
If you have XDebug installed, you can generate code coverage report with:, (*17)
$ make coverage
If you find any bug please report here : Issues, (*18)
Copyright (c) 2018 Matthias Morin, (*19)
Distributed under the MIT license., (*20)
If you like TangoMan CallbackBundle please star! And follow me on GitHub: TangoMan75 ... And check my other cool projects., (*21)
Matthias Morin | LinkedIn, (*22)