Size: a a a

2020 September 02

AM

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

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
И это... я верно понял что нам надо будет Injector допиливать под это?
Зачем?
источник

AM

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

AM

Alexander Makarov in Yii Framework 3
тогда рано я галку поставил :)
источник

AM

Alexander Makarov in Yii Framework 3
явное получение по алиасу у нас уже было и оно вроде ничего особо не давало...
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Ну и есть ещё вопрос, который тоже актуален. Это же будет работать только для тучи композитных контейнеров, верно?
Это точно о тегах? Там смысл в получении коллекции сервисов. Думал еще вариант со статикой сделать, бывает надо.
источник

AM

Alexander Makarov in Yii Framework 3
в общем доку надо
источник

AM

Alexander Makarov in Yii Framework 3
пока не ясно, что это и для чего
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
в общем доку надо
ок
источник

AM

Alexander Makarov in Yii Framework 3
я сначала поставил галку, а потом понял что не понимаю как это использовать
источник

AM

Alexander Makarov in Yii Framework 3
но технически всё норм
источник

АН

Александр Некрасов... in Yii Framework 3
Alexander Makarov
я сначала поставил галку, а потом понял что не понимаю как это использовать
в тестах видно что и как )
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
я сначала поставил галку, а потом понял что не понимаю как это использовать
А тесты посмотреть, не?
источник

AM

Alexander Makarov in Yii Framework 3
видно
источник

AM

Alexander Makarov in Yii Framework 3
но очень понятно всё-равно
источник

AM

Alexander Makarov in Yii Framework 3
это ТОЛЬКО про массивы?
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
это ТОЛЬКО про массивы?
По факту да. Но можно делать свои коллекции с допфункционалом. Например, у тебя есть команды для телеграм бота, ты их тегаешь, как telegram.command, делаешь коллекцию TelegramCommandCollection и ей в конструкторе инжекитшь массив команд через Reference::to('tag@telegram.command') . Теперь ты коллекцию можешь указать в конструкторе, скажем, контроллера и она туда автоматом заинжектится. Если надо добавить команду, ты ее просто тегаешь и она сразу будет уже в этой коллекции. Внешним билдером можно тегать будет по разным признакам, например по интерфейсу. Тогда можно сделать TelegramCommandInterface и он будет тегать все команды с этим интерфейсом. Теперь достаточно будет создать команду, которая имплеменит этот интерфейс, чтобы она автоматом добавилась в коллекцию.
источник

AB

Alexander Borisov in Yii Framework 3
Можно генератор еще сделать, вместо массива. Чтоб lazy
источник

AB

Alexander Borisov in Yii Framework 3
public function getTaggedServices(string $tagAlias): iterable
{
   $tag = substr($tagAlias, 4);

   if (!isset($this->tags[$tag])) {
       return [];
   }

   return (function () use ($tag) {
       foreach ($this->tags[$tag] as $service) {
           yield $this->get($service);
       }
   })();
}
источник

DS

Dmitriy S in Yii Framework 3
Alexander Borisov
public function getTaggedServices(string $tagAlias): iterable
{
   $tag = substr($tagAlias, 4);

   if (!isset($this->tags[$tag])) {
       return [];
   }

   return (function () use ($tag) {
       foreach ($this->tags[$tag] as $service) {
           yield $this->get($service);
       }
   })();
}
Ок, попробую
источник