Slim 3 - 斜杠作为路由参数的一部分

Slim 3 - Slash as a part of route parameter

我需要使用可以包含斜杠 / 的参数组成 URL。比如经典的/hello/{username}路线。默认情况下,/hello/Fabien 将匹配此路由,但不会匹配 /hello/Fabien/Kris。我想问你我如何在 Slim 3 框架中做到这一点。

Route placeholders:

For “Unlimited” optional parameters, you can do this:

$app->get('/hello[/{params:.*}]', function ($request, $response, $args) {
    $params = explode('/', $request->getAttribute('params'));

    // $params is an array of all the optional segments
});

你也可以使用 $args:

$app->get('/hello[/{route:.*}]', function ($request, $response, $args) {
    $route = $args['route']; // Whole Route
    $params = explode('/', $route); // Route split
});