Несколько маршрутов с тем же анонимным обратным вызовом с использованием Slim Framework

Как определить несколько маршрутов, которые используют один и тот же анонимный обратный вызов?

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

Я знаю, что могу использовать ссылку на функцию, которая будет работать, но я предпочел бы решение использовать анонимную функцию для соответствия остальной части кода.

Таким образом, в основном, то, что я ищу, – это способ сделать что-то вроде этого:

 $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 }); 

Спасибо.

Вы можете использовать условия для достижения именно этого. Мы используем это для перевода URL-адресов.

 $app->get('/:route',function() { //Do same stuff for both routes })->conditions(array("route" => "(first_route|second_route)")); 

Я не могу дать вам конкретное решение, но если это поможет вам обратиться к анонимной функции:

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

Обратные вызовы являются делегатами. Поэтому вы можете сделать что-то вроде этого:

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