0

我无法启动我的简单 Fixture,我以正确的方式安装了捆绑包,并将 2 行放入 autoload.php 和 Appkernel.php 中,如此处所述然后我创建了我的 Fixture 类,如下所示:

<?php

namespace ABCBundle\DataFixtures\ORM;

use Doctrine\Common\DataFixtures\FixtureInterface;
use ABCBundle\Entity\Rubrica;

class LoadRubricaData implements FixtureInterface
{
    public function load(ObjectManager $manager)
    {
        $rubrica = new Rubrica();
        $rubrica->setX("XXX");
        $manager->persist($rubrica);
        $manager->flush();
    }
}
?>

但是当我尝试从 CLI 启动它时

php 应用程序/控制台原则:fixtures:load

我得到:

致命错误:ABCBundle\DataFixtures\ORM\LoadRubricaData::load() 的声明必须与 [...]ABCBundle/DataFixtures/ORM/LoadRubricaData.php 中的 Doctrine\Common\DataFixtures\FixtureInterface::load() 的声明兼容在第 10 行

但是如果你去看看那个界面你会发现它是正确的:

interface FixtureInterface
{
    /**
     * Load data fixtures with the passed EntityManager
     *
     * @param Doctrine\Common\Persistence\ObjectManager $manager
     */
    function load(ObjectManager $manager);
}

怎么了?

4

1 回答 1

1

该死,我忘了添加行

use Doctrine\Common\Persistence\ObjectManager;
于 2012-05-24T07:35:41.933 回答