Size: a a a

2020 March 26

AM

Alexander Makarov in Yii Framework 3
мне это не нравится
источник

AM

Alexander Makarov in Yii Framework 3
А как она может не всплывать?
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
сейчас у нас можно юзать мидлвари откуда угодно
тут не понял, о чём ты
источник

AM

Alexander Makarov in Yii Framework 3
ща, погоди
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
А как она может не всплывать?
есть несколько исключительных случаев. Эти исключения только для завершения работы роутера, а не генерирования ответа
источник

AM

Alexander Makarov in Yii Framework 3
а разве сейчас не так?
источник

AM

Alexander Makarov in Yii Framework 3
https://github.com/yiisoft/router/blob/master/src/Middleware/Router.php#L36 - вот это у нас вроде и есть выход без выполнения стека роута
источник

AM

Alexander Makarov in Yii Framework 3
или ты хочешь прям особый стек в Route, который по "плохому" статусу прерывает цепочку?
источник

А

Алексей R in Yii Framework 3
посмотрел, это немного не тот случай. Это сработает, если не сматчился роут или метод
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
или ты хочешь прям особый стек в Route, который по "плохому" статусу прерывает цепочку?
ну там вроде и так свой стек. Просто не надо продолжать эту цепочку в WebActionsCaller если экшен не найден
источник

AM

Alexander Makarov in Yii Framework 3
ну, в принципе, норм идея
источник

AM

Alexander Makarov in Yii Framework 3
поправишь?
источник

А

Алексей R in Yii Framework 3
но по сути, если дело дошло до выполнения WebActionsCaller, то это значит, что предыдущие мидлвари роута уже начали работу. И кроме исключения для того, чтобы откатиться назад, вариантов то и нет
источник

А

Алексей R in Yii Framework 3
Теперь посмотрим на \Yiisoft\Router\Middleware\ActionCaller. У меня возникают сомнения в том, что $handler надо передавать параметром в Injector
источник

А

Алексей R in Yii Framework 3
Dmitriy S
Почему я должен убрать хендлер? У меня еще более вложенная мидлтварь может быть для роутов. И в экшине я могу, например, только установить некоторые реквизиты риквеста и сделать $response = $handler->handle($request)
вот что пишет Дмитрий
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
ну, в принципе, норм идея
кроме того, думаю, что надо дать такую возможность контроллерам, которые самодостаточны и не используют ActionCaller'ы. Кроме как ввести RoutingException, мне варианты не приходят
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
но по сути, если дело дошло до выполнения WebActionsCaller, то это значит, что предыдущие мидлвари роута уже начали работу. И кроме исключения для того, чтобы откатиться назад, вариантов то и нет
Есть. Ничего не делать.
источник

AM

Alexander Makarov in Yii Framework 3
Предыдущие, конечно, отработают, да
источник

AM

Alexander Makarov in Yii Framework 3
запили PR
источник

AM

Alexander Makarov in Yii Framework 3
станет понятней
источник