Что эквивалентно для $ app-> pass() из Slim V2 в Slim V3?

#php #slim

#php #slim

Вопрос:

Я переношу систему с Slim V2 на Slim V3…

В проекте v2 у меня есть что-то вроде:

 $app->get('/:text', function($text) use ($app) {
   if(!existsOnDb($text)) {
       $app->pass();
   }

   $app->render("mytemplate.html", ...) //Render db content of text
});

$app->get('/hola', ....); 
$app->get('/route2', ....);
$app->get('/route3', ....);
  

Итак, если я вызываю GET /hola и «hola» существует в базе данных, она отображает mytemplate.html
Но если hola не существует, он дает указание маршрутизатору «передать» и попытаться найти другой маршрут, который соответствует (в моем примере, ввод и выполнение второго определенного маршрута)

Есть ли что-то подобное в Slim V3?

Комментарии:

1. В Slim 3 тогда можно перенаправить на именованный маршрут.

2. Я не хочу перенаправление… Я хочу обработать тот же запрос другим определенным маршрутом (например, в slim v2). Потому что, если я сделал перенаправление, я думаю, что оно войдет в цикл. Как вы можете видеть, маршруты могут использовать один и тот же «шаблон»

3. И почему понижающий голос?

4. Я думаю, что Slim v3 больше не поддерживает pass , потому что теперь у него есть промежуточные программы. Другим вариантом было бы создать очень общий маршрут с заполнителем и визуализировать шаблон в зависимости от заданных параметров маршрутизации.

5. Да, это то, что я делаю прямо сейчас .. ;). Просто любопытно, почему pass это недоступно в V3