syamskoy
@syamskoy

Что за странное поведение компонента?

Есть такая обвертка в Bootstrap.php :
$container->setSingleton(Queue::class, static function () {
            return Yii::$app->queue;
        });


Если выполнить код, то упадет с 500-й ошибкой, что Yii::$app->queue is null;
Если поставить брекпоинт только на строчке return ... , то мы увидим, что Yii::$app->queue действительно null и получаем 500-ю.
Если поставить брекпоинт на строчкe $container, то мы видим, что Yii::$app->queue не пустой и (!!!) программа неожиданно далее выполняется без падения, все отрабатывает.
Но! Если поставить брекпоинт на $container и на return, то мы увидим что Yii::$app->queue в return стал не пустым и так же все отрабатывает.
Это что корпускулярный-волновой дуализм?))
Причем выше таких обверток для компонентов несколько, но такое поведение только у этого. Месторасположение не влияет, перенос в main.php тоже. Просто вызов Yii::$app->queue вместо DI в том месте программы - отлично работает.
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
syamskoy
@syamskoy Автор вопроса
Решение: проблема в одноименном компоненте и контенере.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы