对不起,如果我的英语不是很好。我正在学习它。
我已按照 PUGXMultiUserBundle 安装指南的所有步骤进行操作。我唯一没有做的就是为我的实体创建表单。我对此感到困惑。
当我转到我的用户一的注册页面时,它对我说:
可捕获的致命错误:传递给 FOS\UserBundle\Doctrine\UserManager::__construct() 的参数 1 必须实现接口 Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface,给出 FOS\UserBundle\Util\PasswordUpdater 的实例,在 C 中调用: \xampp\htdocs\myproject\vendor\pugx\multi-user-bundle\Doctrine\UserManager.php 在第 44 行并定义
PUGXMultiUserBundle 的用户管理器代码:
// vendor\pugx\multi-user-bundle\Doctrine\UserManager.php (function __construct)
public function __construct(PasswordUpdaterInterface $passwordUpdater, CanonicalFieldsUpdater $canonicalFieldsUpdater, ObjectManager $om, $class, UserDiscriminator $userDiscriminator)
{
$this->om = $om;
$this->userDiscriminator = $userDiscriminator;
parent::__construct($passwordUpdater, $canonicalFieldsUpdater, $om, $class);
}
FOSUserBundle 的用户管理器代码:
// vendor\friendsofsymfony\user-bundle\Doctrine\UserManager.php (function __construct)
public function __construct(EncoderFactoryInterface $encoderFactory, CanonicalizerInterface $usernameCanonicalizer, CanonicalizerInterface $emailCanonicalizer, ObjectManager $om, $class)
{
parent::__construct($encoderFactory, $usernameCanonicalizer, $emailCanonicalizer);
$this->objectManager = $om;
$this->repository = $om->getRepository($class);
$metadata = $om->getClassMetadata($class);
$this->class = $metadata->getName();
}