将 Laravel 的 Route::any 转换为 Lumen 的 Route。

3
我正在从https://github.com/ankitpokhrel/tus-php/wiki/Laravel-&-Lumen-Integration设置tus.io php服务器,但我卡在将laravel的routes::any转换为lumen路由上。
Route::any('/tus/{any?}', function () {
  $response = app('tus-server')->serve();

  return $response->send();
})->where('any', '.*');
2个回答

8
晚回答,但为了完整性需要说明一下。 您可以使用addRoute()实现任何(any())功能。我将其用作我的捕获所有路由。
$router->addRoute(['GET','POST', 'PUT', 'PATCH', 'DELETE','OPTIONS'], '', 'Controller@badRequest');

观察\Laravel\Lumen\Routing\Router::addRoute方法,它只是将方法数组扩展为单独的路由。


请确保您的回答使用大写字母。 - Pezhvak

4

Lumen没有$route->any()方法。

您必须像这样定义每个路由:

$router->group(['prefix' => 'tus'], function () use ($router) {
    $tus = app('tus-server')->serve()->send();

    $router->get('/{route:.*}/', function () use ($tus) { return $tus});
    $router->post('/{route:.*}/',function () use ($tus) { return $tus});
    $router->put('/{route:.*}/', function () use ($tus) { return $tus});
    $router->patch('/{route:.*}/', function () use ($tus) { return $tus});
    $router->delete('/{route:.*}/', function () use ($tus) { return $tus});

});


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接