У меня была такая же проблема, вот мое решение (в основном комбинация первых двух ответов):
Настройка службы в config.yml, не забудьте аргументы
services:
custom_user_manager:
class: Acme\UserBundle\Model\CustomUserManager
arguments: [@security.encoder_factory, @fos_user.util.username_canonicalizer, @fos_user.util.email_canonicalizer, @fos_user.entity_manager, Acme\UserBundle\Entity\User]
Затем подключите службу к FOS user_manager (также в config.yml):
fos_user:
service:
user_manager: custom_user_manager
В CustomUserManager вызовите метод конструкции, как сказал Гилден:
class CustomUserManager extends UserManager{
public function __construct(EncoderFactoryInterface $encoderFactory, CanonicalizerInterface $usernameCanonicalizer, CanonicalizerInterface $emailCanonicalizer, ObjectManager $om, $class)
{
parent::__construct($encoderFactory, $usernameCanonicalizer, $emailCanonicalizer, $om, $class);
}
}