У меня проблемы с вызовом моего ImageEncoderService
внутри моего LdapUserProvider.php
с Symfony2. В Интернете я нахожу дискуссии только о том, как вызывать сервисы внутри репозиториев, контроллеров, сущностей и команд.
Делаем это:
class LdapUserProvider implements UserProviderInterface
{
private $ldapManager;
private $bindUsernameBefore;
private $userClass;
private $em;
private $session;
private $imgEncoder;
public function __construct(LdapManagerUserInterface $ldapManager, $bindUsernameBefore = false, $userClass, $em, ImageEncoderService $imgEnconder)
{
$this->session = new Session();
$this->ldapManager = $ldapManager;
$this->bindUsernameBefore = $bindUsernameBefore;
$this->userClass = $userClass;
$this->em = $em;
$this->imgEnconder = $imgEnconder;
}
...
}
Сгенерировать эту ошибку:
ContextErrorException in LdapUserProvider.php line 58:
Catchable Fatal Error: Argument 5 passed to
Foo\ApiBundle\Provider\LdapUserProvider::__construct()
must be an instance of Foo\ApiBundle\Service\ImageEncoderService,
none given, called in /app/cache/dev/appDevDebugProjectContainer.php
on line 2202 and defined
Можно ли даже внедрить услугу в обычного провайдера? Или мне нужно ввести его куда-нибудь еще, а затем использовать внутри провайдера?
Я использую провайдера LDAP: https://symfony.com/doc/current/security/ldap.html
PS. Сам сервис отлично работает в других местах приложения, таких как команды, контроллеры и т. Д.