Slim Framework: Маршрут только принятые параметры - PullRequest
0 голосов
/ 26 июня 2018

Я хочу определить два маршрута на основе параметров маршрута, например:

$app->get('/{param}', function (Request $request, Response $response) {
  // This route can only accept params like: colors, finish, material
}

// And to have another similar but to accept different params

$app->get('/{param2}', function (Request $request, Response $response) {
  // This route can only accept params like: jobs, customers
}

Я могу проверить, какой параметр указан в обратных вызовах маршрута, но я не думаю, что в этой ситуации оба обратных вызова маршрутабыть призванным, верно?то есть я могу проверить это на первом маршруте, но обратный вызов для второго маршрута не будет вызван.

Есть ли что-то, что я могу добавить к объекту get, чтобы выполнить то, что я хочу?

1 Ответ

0 голосов
/ 26 июня 2018

Вы можете определить параметры маршрута таким образом, чтобы они соответствовали определенным схемам.В вашем случае это шаблоны предопределенного набора слов:

$app->get('/{param:colors|finish|materials}', function ( $request, $response, $args) {
  // This route can only accept params like: colors, finish, material
    return "First route with param: " . $args['param'];
});

// And having another route similar but to another params

$app->get('/{param:jobs|customers}', function ($request, $response, $args) {
  // This route can only accept params like: jobs, customers
    return "Second route with param: " . $args['param'];
});

Подробнее о шаблонах маршрутов можно прочитать в FastRoute документации.

...