Использование контейнера в разделе Fixtures описывает именно то, что вам нужно.
Все, что вам нужно сделать, это внедрить ContainerAwareInterface
в вашем приборе.Это заставит Symfony внедрить контейнер через Setter-Injection.Пример объекта будет выглядеть следующим образом:
class LoadDataFixtures implements FixtureInterface, ContainerAwareInterface {
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
public function load($em) {
Вам не нужно регистрировать прибор в качестве службы.Обязательно импортируйте используемые классы через use
.