Я пытаюсь добавить приборы из пакета в приборы в моем приложении. Приборы находятся в моем подкаталоге в папке lib/MyCompany/MyBundle/Fixtures
.
Пример:
// MyCompany/MyBundle/Fixtures/SpecialFixtures.php
<?php
namespace MyCompany\MyBundle\Fixtures;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\Persistence\ObjectManager;
class SpecialFixtures extends Fixture
{
public function load(ObjectManager $manager)
{
}
}
Затем я использую этот прибор в своем приложении как зависимость от другого прибора
// src/Fixtures/DependentFixtures.php
<?php
namespace App\Fixtures;
use MyCompany\MyBundle\Fixtures\SpecialFixtures;
use Doctrine\Common\Persistence\ObjectManager;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
class DependentFixtures extends Fixture implements DependentFixtureInterface
{
public function load(ObjectManager $manager)
{
}
public function getDependencies()
{
return array(
SpecialFixtures::class,
);
}
}
Мой наивный подход к использованию команды и ожиданию того, что она работает, как написано в документах
./bin/console doctrine:fixtures:load
, терпит неудачу с
Fixture "MyCompany\MyBundle\Fixtures\SpecialFixtures" was declared as a dependency, but it should be added in fixture loader first.
Попытка добавить каталог fixtures в функцию загрузки расширения также не работает, так как служба doctrine.fixtures.loader
не определяется во время загрузки класса расширения пакета. Хотя эта служба отображается в списке служб в ./bin/console debug:container
.
Как я могу сказать, что загрузчик приборов должен был найти дополнительные приборы, которые управляются внутри пакета?
Любая помощь будет очень благодарны.
Приветствия
Замечание : Сильно отредактировано после первого комментария.