Before "silex/silex": ">= 2.0" built-in tag allows you to create a URL based on the route name.
You can replace:
$app['url_generator']->generate('my-route-name');
By:
$app->path('my-route-name');
Then use it to redirect:
$app->redirect($app->path('my-route-name'));
Another possibility is to create a custom direct call forwarding function with a route name:
namespace Acme; trait RedirectToRouteTrait { public function redirectToRoute($routeName, $parameters = [], $status = 302, $headers = []) { return $this->redirect($this->path($routeName, $parameters), $status, $headers); } }
Add a tag to your application definition:
use Silex\Application as BaseApplication; class Application extends BaseApplication { use Acme\RedirectToRouteTrait; }
Then use it where you need it:
$app->redirectToRoute('my-route-name');
Flo-schield-bobby
source share