【发布时间】:2021-03-09 13:32:34
【问题描述】:
我一直在网上寻找,找不到任何告诉您如何为一个回调分配多条路由的信息。比如我想搬家:
$app->get('/sign-in', function($request, $response) {
return $this->view->render($response, 'home.twig');
});
$app->get('/login', function($request, $response) {
return $this->view->render($response, 'home.twig');
});
变成类似:
$app->get(['/sign-in', '/login'], function($request, $response) {
return $this->view->render($response, 'home.twig');
});
有没有办法用 Slim 3 做到这一点?我在网上发现,在 Slim 2 中,您可以在末尾使用 conditions([]); 函数将多个路由链接到一个回调。
【问题讨论】:
-
既然您已经在使用类似 MVC 的结构,您是否考虑过使用控制器而不是直接在路由文件中放置闭包?
-
@Bytewave 我对这种类型的结构很陌生,您介意更详细地解释一下您的意思吗?也许提供一个代码示例?谢谢!
-
控制器在评论中有点难以解释,但我会在答案中试一试。
-
@Bytewave 谢谢,非常感谢!
-
实际上,在另一个答案上查看您的 cmets 时,我不确定这是否是解决问题的方法。无论如何,我建议使用控制器,以保持您的逻辑独立并帮助您保持井井有条,但这可能不相关。我不确定有没有办法只用一组路由路径来做到这一点——似乎你必须通过重复的
->get()调用来做到这一点。