1

对不起,如果我的英语不是很好。我正在学习它。

我已按照 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();
    }
4

0 回答 0