如何定义多个使用相同匿名回调的路由?
$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
});
谢谢。
答案 0 :(得分:19)
您可以使用条件来实现这一目标。我们使用它来翻译网址。
$app->get('/:route',function()
{
//Do same stuff for both routes
})->conditions(array("route" => "(first_route|second_route)"));
答案 1 :(得分:13)
我无法为您提供特定于框架的解决方案,但如果它有帮助您可以引用匿名函数:
$app->get('/first_route', $ref = function()
{
//Do stuff
});
$app->get('/second_route', $ref);
答案 2 :(得分:4)
回调是代表。所以你可以这样做:
$app->get('/first_route', myCallBack);
$app->get('/second_route', myCallBack);
function myCallBack() {
//Do stuff
}