Size: a a a

2020 March 29

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Но что-то мне подсказывает, что @roxblnfk знает как улучшить.
Пусть сделает отдельный пр на демо, чтобы можно было посмотреть. Я его уже послушал и убил время на DeferredStream. В итоге получил кастрированный вариант моего решения с костылями.
источник

А

Алексей R in Yii Framework 3
в голове у меня может что-то не учлось и может всплыть фатальный недостаток
источник

А

Алексей R in Yii Framework 3
И ещё предлагаю уделить пару минут обдумыванию предложения реализовать yii-psr7
В нём будут разные стримы под разные случаи (уже есть стрим под генераторы, только шлифануть... ещё несколько наберётся)
Он не будет реализовывать реквест/респонс (только если декораторы, но это край, но лучше не надо), а будет юзать готовый PSR7 пакет пользователя
Сделать его таким, чтобы можно было, в контейнере заменить, например, StreamFactory
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
И ещё предлагаю уделить пару минут обдумыванию предложения реализовать yii-psr7
В нём будут разные стримы под разные случаи (уже есть стрим под генераторы, только шлифануть... ещё несколько наберётся)
Он не будет реализовывать реквест/респонс (только если декораторы, но это край, но лучше не надо), а будет юзать готовый PSR7 пакет пользователя
Сделать его таким, чтобы можно было, в контейнере заменить, например, StreamFactory
Генераторы - очень особый случай.
источник

А

Алексей R in Yii Framework 3
не спорю )
источник

AM

Alexander Makarov in Yii Framework 3
Можно сделать пакет со стримом, если стрим какой-то особый.
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
Генераторы - очень особый случай.
вот кстати для GraphQL может как раз то, что надо
источник

А

Алексей R in Yii Framework 3
как раз недавно Антон Морев опять рассказывал про это
источник

А

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

DS

Dmitriy S in Yii Framework 3
Алексей R
что некоторые данные одного запроса могут быть получены очень быстро, а какие-то очень медленно. И вот последние тормозят весь респонс. В общем можно было  бы попробовать решить потоковым json'ом )
Потоковый json можно легко встроить в форматтер. Но обычно в этот нет надобности, инфо отдается с пагинацией по небольшому количеству записей.
источник

AM

Alexander Makarov in Yii Framework 3
Не, Graphql отвечает не потоково вроде...
источник

А

Алексей R in Yii Framework 3
вопрос реализации...
источник

AM

Alexander Makarov in Yii Framework 3
Ну... Смысла я не вижу.
источник

А

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

AM

Alexander Makarov in Yii Framework 3
Спрошу у Морева...
источник

А

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

Д

Дмитрий in Yii Framework 3
Алексей R
зачем вообще нужен отдельный форматтер, если можно делать форматирование в стриме?
Покажи
источник

Д

Дмитрий in Yii Framework 3
@samdark Is action caller middleware only. Duplicates router functionality.
так давай сделаем это глобальным, в yii-web.
может быть, это станет фишкой yii3 - возвращать из контроллера mixed и все будет работать. не уверен, что полюбят, но есть шансы)
эндпоинтов, разбитую по глаголам.
ну то есть вместо
->addRoute(Route::create('get', [Controller::class, 'get'])
->addRoute(Route::create('head', [Controller::class, 'head'])
->addRoute(Route::create('post', [Controller::class, 'post'])
->addRoute(Route::create('delete', [Controller::class, 'delete'])
->addRoute(Route::create('put', [Controller::class, 'put'])
->addRoute(Route::create('patch', [Controller::class, 'patch'])

можно сделать просто
->addGroup(RestGroup::('/', Controller::class)
источник

Д

Дмитрий in Yii Framework 3
подробить yii-web и сделать rest зависимым от web
источник

А

Алексей R in Yii Framework 3
>
->addGroup(RestGroup::('/', Controller::class)

так уже сделано в ленивом рендринге. Контроллер реализует мидлварь, от экшенов принимает любые значения и засовывает в Response
источник