Symfony和FOS更新

时间:2017-01-17 16:26:27

标签: symfony fosuserbundle

我正在使用symfony 2.8并在我的本地计算机上做了一个作曲家udate并开始出现这种错误。

完全错误(对于邮件程序和用户管理器都会发生错误,这种情况正常运行一年......)

[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
Unable to replace alias "fos_user.user_manager" with actual definition "my.custom_user_manager".

[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
You have requested a non-existent service "my.custom_user_manager". 

config.yml

fos_user:
    service:
        user_manager: my.custom_user_manager
        mailer: my.custom_user_mailer # fos_user.mailer.twig

对于具有覆盖的自定义用户管理器也会发生这种情况。我的FOS用户包版本是v2.0.0-alpha3,并且自先前版本以来没有改变。

我的服务定义用于/并且看起来正确。

这里有什么领先?

服务定义:

// bunch of "use" here...
/**
 * @DI\Service("my.custom_user_manager", public=true)
 */
class CoreUserManager extends BaseUserManager
{
    /**
     * @DI\InjectParams({
     *      "encoderFactory" = @DI\Inject("security.encoder_factory"),
     *      "usernameCanonicalizer" = @DI\Inject("fos_user.util.username_canonicalizer"),
     *      "emailCanonicalizer" = @DI\Inject("fos_user.util.email_canonicalizer"),
     *      "em" = @DI\Inject("doctrine.orm.entity_manager"),
     * })
     */
     public function __construct(
        EncoderFactoryInterface $encoderFactory,
        CanonicalizerInterface $usernameCanonicalizer,
        CanonicalizerInterface $emailCanonicalizer,
        EntityManager $em
    )
    {
        $class = 'Medical\CoreBundle\Entity\User';
        parent::__construct($encoderFactory, $usernameCanonicalizer, $emailCanonicalizer, $em, $class);
    }

邮件

// bunch of proper "use"... here
    /**
 * Extends FOS mailer to send your own emails and add methods
 * @DI\Service("my.custom_user_mailer", public=false)
 */
class MedicalUserMailer extends BaseMailer implements MailerInterface
{
    /**
     * @todo To move into settings and inject via DI
     * $from = $this->getParameter('medical.core.emails')['from']; LIKE in AdminController
     */
    private $from = array('support@360medics.fr' => '360 medics');

    /**
     * @DI\InjectParams({
     *      "mailer"= @DI\Inject("mailer"),
     *      "router"= @DI\Inject("router"),
     *      "templating"= @DI\Inject("templating"),
     *      "config"= @DI\Inject("%medical.core.emails%")
     * })
     */
    public function __construct(
        \Swift_Mailer $mailer, UrlGeneratorInterface  $router, EngineInterface $templating, array $config
        )
    {
        parent::__construct($mailer, $router, $templating, array());
        // $this->mailer = $mailer;
        // $this->router = $router;
        // $this->templating = $templating;
        $this->config = $config;
    }

0 个答案:

没有答案