Size: a a a

2020 March 30

AM

Alexander Makarov in Yii Framework 3
Ну так как убедиться что "обработка дебагера заканчивалась последней" если приоритет каждый может выставить? Вот у дебаггера 1000. А я возьму и выставлю 10000.
источник

AM

Alexander Makarov in Yii Framework 3
Это не решает проблемы.
источник

А

Алексей R in Yii Framework 3
Dmitriy S
https://github.com/yiisoft/router/pull/41
Грохнул в роутере ActionCaller и Callable, они там не нужны. А то к ним некоторые тянут свои шаловливые ручки😜
когда из роутера исчезнет контейнер?
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
когда из роутера исчезнет контейнер?
Не исчезнет, он там нужен. Даже без моего  автолоадера модулей.
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
когда из роутера исчезнет контейнер?
Почему он должен исчезнуть? Кто будет при вызове handler-а резолвить зависимости?
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
Почему он должен исчезнуть? Кто будет при вызове handler-а резолвить зависимости?
контейнер там не нужен именно потому что не роутер должен резолвить
источник

DS

Dmitriy S in Yii Framework 3
Dmitriy S
Не исчезнет, он там нужен. Даже без моего  автолоадера модулей.
Элементарная ситуация. У тебя есть в приложении DocumentStorageInterface, на него забинден LocalSrorage, тебе нужно для одной группы роутов чтобы доки сохранялис в S3, ты делаешь контейнер в котором биндишь на этот интерфейс S3Storage, запихаешь в композитный контейнер основной и этот новый и композитный задаешь группе роутов. Все, у тебя в этой группе DocumentStorageInterface будет возвращать S3Storage.
источник

А

Алексей R in Yii Framework 3
Dmitriy S
Элементарная ситуация. У тебя есть в приложении DocumentStorageInterface, на него забинден LocalSrorage, тебе нужно для одной группы роутов чтобы доки сохранялис в S3, ты делаешь контейнер в котором биндишь на этот интерфейс S3Storage, запихаешь в композитный контейнер основной и этот новый и композитный задаешь группе роутов. Все, у тебя в этой группе DocumentStorageInterface будет возвращать S3Storage.
тоже самое проще в контроллере/экшене запросить
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
контейнер там не нужен именно потому что не роутер должен резолвить
Сто раз уже повторял, это не роутер, это роут хендлер. Роутер - это фастроут.
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
тоже самое проще в контроллере/экшене запросить
Что именно? Делать отдельный интерфейс?
источник

А

Алексей R in Yii Framework 3
Dmitriy S
Сто раз уже повторял, это не роутер, это роут хендлер. Роутер - это фастроут.
да да, и не пайплайн а стек или диспетчер мидлварей
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
тоже самое проще в контроллере/экшене запросить
Запросить != получить. Нарушаем инверсию зависимостей.
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
Запросить != получить. Нарушаем инверсию зависимостей.
по роутам разбивать так себе затея. А что делать в случае консоли?
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
по роутам разбивать так себе затея. А что делать в случае консоли?
До консоли я еще не дошел, но там тоже команды будут работать в контексте модуля.
источник

А

Алексей R in Yii Framework 3
Dmitriy S
До консоли я еще не дошел, но там тоже команды будут работать в контексте модуля.
Контроллер должен быть тем звеном, которое не зависит от места его запуска - в вебе, консоли или ещё где
Поэтому контекстный контейнер нужно вешать на него, а не на роут
источник

AM

Alexander Makarov in Yii Framework 3
Ну вот он сейчас и не зависит.
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
Контроллер должен быть тем звеном, которое не зависит от места его запуска - в вебе, консоли или ещё где
Поэтому контекстный контейнер нужно вешать на него, а не на роут
Ты хочешь запускать вэб-экшины в консоли?
источник

А

Алексей R in Yii Framework 3
Dmitriy S
Элементарная ситуация. У тебя есть в приложении DocumentStorageInterface, на него забинден LocalSrorage, тебе нужно для одной группы роутов чтобы доки сохранялис в S3, ты делаешь контейнер в котором биндишь на этот интерфейс S3Storage, запихаешь в композитный контейнер основной и этот новый и композитный задаешь группе роутов. Все, у тебя в этой группе DocumentStorageInterface будет возвращать S3Storage.
> Ну вот он сейчас и не зависит.
а это что?
источник

AM

Alexander Makarov in Yii Framework 3
Контроллеру пофиг. Он требует StorageInterface.
источник

AM

Alexander Makarov in Yii Framework 3
Как там его подставят - не важно.
источник