Size: a a a

2021 May 13

AB

Alexander Borisov in Yii Framework 3
что плохого?
источник

AM

Alexander Makarov in Yii Framework 3
В yii-config зачем возможность назначить алиас как хендлер?
источник

В

Виктор in Yii Framework 3
yii-event, наверное. Просто как доп. возможность при $container->get($callable). Можно, конечно, ограничить только именами классов, но зачем, какой профит?
источник

DS

Dmitriy S in Yii Framework 3
Профит - прозрачность конфига, сразу виден обработчик или можно к нему перейти из IDE. Не создается мусорный инстанст в контейнере, который доступен везде. Обработчики не хранятся в контейнере, вместо конфига ивентов.
источник

IS

Insolita Secret in Yii Framework 3
+1
источник

AB

Alexander Borisov in Yii Framework 3
ИМХО, если есть алиасы в контейнере, то неправильно их запрещать в эвентах
источник

DS

Dmitriy S in Yii Framework 3
Алиасы для внутряка.
источник

AB

Alexander Borisov in Yii Framework 3
Я иногда пользуюсь
источник

AB

Alexander Borisov in Yii Framework 3
```
SomeListener::__construct(Connection $connection);

[
   'app.default-connection.some-listener' => [
       'class' => SomeListener::class,
       'connection' => Reference::
to('app.default-connection'),
   ],
   'app.another-connection.some-listener' => [
       'class' => SomeListener::class,
       'connection' => Reference::
to('another.default-connection'),
   ],
]

```
источник

DS

Dmitriy S in Yii Framework 3
Это можно и без алиасов сделать. Мне интересно, это реальный кейс?
источник

AB

Alexander Borisov in Yii Framework 3
Без алиасов и наследования?
источник

DS

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

AB

Alexander Borisov in Yii Framework 3
Как?
источник

DS

Dmitriy S in Yii Framework 3
В конфиге ивентов
SomeEvent::class => [
     function (ContainerInterface $container) {
           $connection =  $container->get(app.default-connection');
           (new SomeListener($connection))();
    }
]
источник

AB

Alexander Borisov in Yii Framework 3
Можно конечно, но autowiring все-таки удобная штука, чтоб прям вообще от нее отказываться
источник

DS

Dmitriy S in Yii Framework 3
Так он нее вообще никто и не отказывается
источник

В

Виктор in Yii Framework 3
Вкусовщина, как по мне
источник

AB

Alexander Borisov in Yii Framework 3
Ну в рамках конфига эвентов вот для таких кейсов - отказываемся
источник

В

Виктор in Yii Framework 3
Но в любом случае я бы такое в некую фабрику вынес
источник

DS

Dmitriy S in Yii Framework 3
Но взамен получаем прозрачность и отсутствие левых инстансов в контейнере
источник