Slim 3 - 斜杠作为路由参数的一部分
Slim 3 - Slash as a part of route parameter
我需要使用可以包含斜杠 / 的参数组成 URL。比如经典的/hello/{username}
路线。默认情况下,/hello/Fabien
将匹配此路由,但不会匹配 /hello/Fabien/Kris
。我想问你我如何在 Slim 3 框架中做到这一点。
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
});
我需要使用可以包含斜杠 / 的参数组成 URL。比如经典的/hello/{username}
路线。默认情况下,/hello/Fabien
将匹配此路由,但不会匹配 /hello/Fabien/Kris
。我想问你我如何在 Slim 3 框架中做到这一点。
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
});