更新学说后,Symfony中的“ ObjectManager和EntityManagerInterface之间的兼容性是什么?

问题描述 投票:1回答:1

我是法语,所以我的英语不太好。

在我的symfony项目中尝试更新(composer update)后,我出错。

因此,我寻找解决方案,发现有必要修改实体和构造函数中的用法和类型提示。

然后,我重新启动了更新,但是发生了另一个错误,并且更新未完全完成。

结果:我的站点已关闭并且显示兼容性错误。

观看此:

编译错误:App \ DataFixtures \ AppFixtures :: load(Doctrine \ ORM \ EntityManagerInterface $ manager)的声明必须与Doctrine \ Common \ DataFixtures \ FixtureInterface :: load(Doctrine \ Common \ Persistence \ ObjectManager $ manager)兼容。] >

在AppFixtures.php第8行中

我不明白,什么是兼容性?

我想您会帮助我。

我不知道如何发布我的代码。(控制器,yaml,实体等),但是我尝试了。我的项目在bug之前在github上..也许它可能是有用的(如果您需要..)

这里是我的AppFixtures.php:

<?php

namespace App\DataFixtures;

use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\ORM\EntityManagerInterface;

class AppFixtures extends Fixture
{
    public function load(EntityManagerInterface $manager)
    {
        // $product = new Product();
        // $manager->persist($product);

        $manager->flush();
    }
}

感谢收看。

我是法语,所以我的英语不太好。在我的symfony项目中尝试更新(composer update)后,我出现了错误。所以我寻找解决方案,发现有必要修改用途...

php symfony orm doctrine composer-php
1个回答
0
投票

在您的Fixture的基类Doctrine\Common\Persistence\ObjectManager $ manager实例中,因此需要将EntityManagerInterface更改为ObjectManager。您不能在子类中覆盖typehint。

© www.soinside.com 2019 - 2024. All rights reserved.