Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiple routes with the same anonymous callback using Slim Framework

Tags:

php

slim

How can I define multiple routes that use the same anonymous callback?

$app->get('/first_route',function()
{
   //Do stuff
});
$app->get('/second_route',function()
{
   //Do same stuff
});

I know I can use a reference to a function which would work, but I'd prefer a solution for using the anonymous function to be consistent with the rest of the codebase.

So basically, what I'm looking for is a way of doing something like this:

$app->get(['/first_route','/second_route'],function()
{
       //Do same stuff for both routes
});

~ OR ~

$app->get('/first_route',function() use($app)
{
   $app->get('/second_route');//Without redirect
});

Thank you.

like image 633
Francisc Avatar asked Jul 17 '12 11:07

Francisc


1 Answers

You can use conditions to achieve just that. We use that to translate URLs.

$app->get('/:route',function()
{
    //Do same stuff for both routes
})->conditions(array("route" => "(first_route|second_route)"));
like image 165
pfyod Avatar answered Sep 23 '22 12:09

pfyod