単純なフィクスチャを起動できません。バンドルを正しい方法でインストールし、ここに記載されているように autoload.php と Appkernel.php に 2 行を配置し、次のようにフィクスチャ クラスを作成しました。
<?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 アプリ/コンソール doctrine: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);
}
どうしたの?