Я новичок в Symblog 2 и следую этому учебнику для Symblog2 .
Я создал Модель данных и попытался заполнить тестовые данныемоя БД, использующая Doctrine 2 fixtures .
Я скачала необходимые пакеты и добавила следующее к своему autoload.php
:
'Doctrine\\Common\\DataFixtures' => __DIR__.'/../vendor/doctrine-fixtures/lib',
'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib',
и к AppKernel.php
:
new Symfony\Bundle\DoctrineFixturesBundle\DoctrineFixturesBundle(),
Мой класс приборов выглядит следующим образом:
<?php
namespace Soccer\MainBundle\DataFixtures\ORM;
use Doctrine\Common\DataFixtures\FixtureInterface;
use Soccer\MainBundle\Entity\Team;
class TeamFixtures implements FixtureInterface
{
public function load($manager)
{
$team1 = new Team();
$team1->setName('Poland');
$team1->setImg('./img/POL.png');
$team1->setKitHome('./img/POL_1.png');
$team1->setKitAway('./img/POL_2.png');
$manager->persist($team1);
$manager->flush();
}
}
Когда я пытаюсь запустить php app/console doctrine:fixtures:load
, я получаю следующее исключение:
Неустранимая ошибка: объявление Soccer \ MainBundle \ DataFixtures \ ORM \ TeamFixtures :: load () должно быть совместимо с ошибкой Doctrine \ Common \ DataFixtures \ FixtureInterface :: load () в D: \ xampp \ htdocs \ soccertips \ em-symfony \ src \ Soccer \ MainBundle \ DataFixtures \ ORM \ TeamFixtures.php on line 8
Call Stack:
0.0004 328688 1. {main}() D:\xampp\htdocs\soccertips\em-symfony\app\console:0
0.0283 2043272 2. Symfony\Component\Console\Application->run() D:\xampp\htdocs\soccertips\em-symfony\app\console:22
0.0344 2230520 3. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() D:\xampp\htdocs\soccertips\em-symfony\vendor\symfony\src\Symfony\Component\Console\Application.php:118
3.3961 18394992 4. Symfony\Component\Console\Application->doRun() D:\xampp\htdocs\soccertips\em-symfony\vendor\symfony\src\Symfony\Bundle\FrameworkBundle\Console\Application.php:75
3.3998 18394992 5. Symfony\Component\Console\Command\Command->run() D:\xampp\htdocs\soccertips\em-symfony\vendor\symfony\src\Symfony\Component\Console\Application.php:194
3.4006 18395336 6. Symfony\Bundle\DoctrineFixturesBundle\Command\LoadDataFixturesDoctrineCommand->execute() D:\xampp\htdocs\soccertips\em-symfony\vendor\symfony\src\Symfony\Component\Console\Command\Command.php:224
3.4056 18499160 7. Doctrine\Common\DataFixtures\Loader->loadFromDirectory() D:\xampp\htdocs\soccertips\em-symfony\vendor\bundles\Symfony\Bundle\DoctrineFixturesBundle\Command\LoadDataFixturesDoctrineCommand.php:97
3.4084 18509624 8. require_once('D:\xampp\htdocs\soccertips\em-symfony\src\Soccer\MainBundle\DataFixtures\ORM\TeamFixtures.php') D:\xampp\htdocs\soccertips\em-symfony\vendor\doctrine-fixtures\lib\Doctrine\Common\DataFixtures\Loader.php:92
Я понимаю сообщение об ошибке, но, по моему мнению, мой метод load()
совместим с FixtureInterface::load
.
Может кто-нибудь сказать мне, что Я скучаю?Я шаг за шагом следовал инструкциям.