减少3个多个路由到一个功能?

Joe*_*tto 5 php rest slim slim-3

我一直在网上查找,找不到任何告诉你如何为一个回调分配多个路由的东西.例如,我想移动:

$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');
});
Run Code Online (Sandbox Code Playgroud)

变成这样的东西:

$app->get(['/sign-in', '/login'], function($request, $response) {
    return $this->view->render($response, 'home.twig');
});
Run Code Online (Sandbox Code Playgroud)

有没有办法用Slim 3做到这一点?我在网上发现,在Slim 2中你可以使用最后的conditions([]);功能将多个路由链接到一个回调.

Joe*_*tto 4

似乎您可以简单地定义一个数组并循环它以在一个函数上创建多个路由。

$routes = [
    '/',
    '/home', 
    '/sign-in',
    '/login',
    '/register',
    '/sign-up',
    '/contact'
];

foreach ($routes as $route) {
    $app->get($route, function($request, $response) {
        return $this->view->render($response, 'home.twig');
    });
}
Run Code Online (Sandbox Code Playgroud)