BonBonSlick
@BonBonSlick
Vanilla Full Stack Web Architector

Инициализация сервиса из vendor?

symfony.component.security.core.encoder.encoderfactoryinterface:
      class: Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface
      autowire: true
      autoconfigure: true
      public: true


ERROR
Cannot instantiate interface Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface


И передаю параметром там же в сервисах, или пытаюсь сделать инжект. В общем, не хочет инициализировать.

Хотя он лежит в параметре контейнера:
srcDevDebugProjectContainer {#189 ▼
  -buildParameters: array:3 [▶]
  -parameters: array:223 [▼]
....
    "symfony.component.security.core.encoder.encoderfactoryinterface" => 
"/home/vagrant/Code/testsite/var/cache/dev/ContainerKM9Xdfx/getSymfony_Component_Security_Core_Encoder_Encode
rfactoryinterfaceService.php"
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
BoShurik
@BoShurik
Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface - это интерфейс. Сделать new EncoderFactoryInterface нельзя

Вам надо настроить алиас
Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface: '@Symfony\Component\Security\Core\Encoder\EncoderFactory'

где Symfony\Component\Security\Core\Encoder\EncoderFactory будет уже конкретный экземпляр интерфейса

PS. Из коробки этот сервис уже зарегистрирован:
bin/console debug:container --show-private "Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы