Size: a a a

2020 July 19

А

Алексей R in Yii Framework 3
в "просто хендлере" интерфейсам не место. Если там есть интерфейсы, то это уже не тупо хендлер
источник

DS

Dmitriy S in Yii Framework 3
Roman Tsurkanu
Да я не пытаюсь тут экономить, я хочу чтобы удобно было пользователям.
На фоне создания RequestModel прописать строчку в роуте - пустяки. Так что можешь добавить в коструктор мидлтвари RequestModelInterface и роутер менять не придется.
источник

RT

Roman Tsurkanu in Yii Framework 3
Не красиво же.
источник

DS

Dmitriy S in Yii Framework 3
Еще, как вариант, в роутер можно добавить getAction(), который вернет первую мидлтварь
источник

RT

Roman Tsurkanu in Yii Framework 3
а роут всмысле?
источник

RT

Roman Tsurkanu in Yii Framework 3
вместо getMiddlewares?
источник

DS

Dmitriy S in Yii Framework 3
Roman Tsurkanu
а роут всмысле?
Да, но тоже так себе вариант. Получение мидлтварей плохо тем, что из этого могут лепить костыли, то есть выполнять мидлтвари вне контекста роута.
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
@roxblnfk но так и есть по сути...
так что я бы назвал этот пакет API а не хендлером
И вот для API этот пакет слишком много на себя взял
источник

DS

Dmitriy S in Yii Framework 3
Dmitriy S
Еще, как вариант, в роутер можно добавить getAction(), который вернет первую мидлтварь
Или лучше getActionParams()
источник

RT

Roman Tsurkanu in Yii Framework 3
Dmitriy S
Или лучше getActionParams()
getMiddlewares содержит такое

Array
(
   [0] => Array
       (
           [0] => App\Controller\ApiBlogController
           [1] => index
       )

   [1] => Yiisoft\Yii\Web\Data\Middleware\FormatDataResponseAsJson
   [2] => App\Middleware\RequestModelMiddleware
   [3] => Yiisoft\Yii\Web\Data\Middleware\FormatDataResponse
)

Не очень понятно getActionParams что должен вернуть.
источник

RT

Roman Tsurkanu in Yii Framework 3
для роута это все мидлвары, он понятия не имеет что из них контроллер, а что нет
источник

AM

Alexander Makarov in Yii Framework 3
@yiiliveext https://github.com/yiisoft/di/pull/134 а это так и надо что закрыл?
источник

DS

Dmitriy S in Yii Framework 3
Случайно ветку прибил, я переоткрыл потом
источник

DS

Dmitriy S in Yii Framework 3
Roman Tsurkanu
для роута это все мидлвары, он понятия не имеет что из них контроллер, а что нет
Это понятно, но обычно экшн - первая, вернуть должен парметры index в виде ['paramName' => 'paramType', ...]
источник

DS

Dmitriy S in Yii Framework 3
Вариант тоже фиговый, но меньшее зло
источник

RT

Roman Tsurkanu in Yii Framework 3
Я не понимаю почему интерфейс маршрута не должен сообщать о том, куда он направляется. Кроме того, что скрывать надо все, что возможно.
источник

DS

Dmitriy S in Yii Framework 3
Roman Tsurkanu
Я не понимаю почему интерфейс маршрута не должен сообщать о том, куда он направляется. Кроме того, что скрывать надо все, что возможно.
Потому что мидлтварь не должна знать о других мидлтварях, это не ее компетенция. Она может только отправить риквест в одну сторону, а риспонс в обратную.
источник

RT

Roman Tsurkanu in Yii Framework 3
Она и не знает
источник

RT

Roman Tsurkanu in Yii Framework 3
UrlMatcher
источник

RT

Roman Tsurkanu in Yii Framework 3
не мидлвара же
источник