Size: a a a

2020 February 08

DS

Dmitriy S in Yii Framework 3
А, не, тогда интерфейс роутера оставляем
источник

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
тот что сейчас в конструкторе роутера, это клаcс Std из пакета nikic/fastroute
М... это деталь реализации.
источник

DS

Dmitriy S in Yii Framework 3
__construct(RouteParser $parser, RouterInterface $router)
источник

AM

Alexander Makarov in Yii Framework 3
Там у этого Std на выходе массив. Это не подходит для сколько-нибудь публичного интерфейса.
источник

AM

Alexander Makarov in Yii Framework 3
Причём массив очень специфичный...
источник

DS

Dmitriy S in Yii Framework 3
Не совсем понимаю о чем ты, мы его просто перенесем в конструктор класса генератора, он только для него нужен
источник

AM

Alexander Makarov in Yii Framework 3
Если мы это притащим в пакет yiisoft/router, то мы себя гвоздями прибьём к fastroute
источник

DS

Dmitriy S in Yii Framework 3
Генератор останется в пакете фастроутера
источник

DS

Dmitriy S in Yii Framework 3
yiisoft/router вообще трогать не будем
источник

AM

Alexander Makarov in Yii Framework 3
ну, чуть будем
источник

AM

Alexander Makarov in Yii Framework 3
выкинем генератор из RouterInterface
источник

DS

Dmitriy S in Yii Framework 3
Ну да
источник

AM

Alexander Makarov in Yii Framework 3
хммм...
источник

DS

Dmitriy S in Yii Framework 3
и на этом все
источник

AM

Alexander Makarov in Yii Framework 3
идея занятная, но профит не очевиден
источник

DS

Dmitriy S in Yii Framework 3
Убирается проблема с setUriPrefix(). Упрощаются тесты, вспомни недавний спор о моке.
источник

AM

Alexander Makarov in Yii Framework 3
мне не очень нравится то, что в fastroute добавится метод getParser()
источник

DS

Dmitriy S in Yii Framework 3
Зачем?
источник

AM

Alexander Makarov in Yii Framework 3
А куда переедет всё из RouteCollector?
источник

AM

Alexander Makarov in Yii Framework 3
то есть если у нас generator и router (collector + matcher), то так как generator реюзает заданные нами роуты, а router их собирает, надо собранное как-то получать у router
источник