/**
* {@inheritdoc}
*/
public function process(ContainerBuilder $container)
{
$files = glob(__DIR__ . '/../../Repository/**Repository.php');
$bundle = substr(__NAMESPACE__, 0, strpos(__NAMESPACE__, '\\'));
$factory = [new Reference('doctrine.orm.entity_manager'), 'getRepository'];
foreach ($files as $file) {
$class = substr(realpath($file), strpos(realpath($file), $bundle), -4);
$entity = strtr($class, ['\\Repository' => '\\Entity', 'Repository' => '']);
if (class_exists($entity)) {
$container->autowire($class, $class)->setFactory($factory)->addArgument($entity);
}
}
}
}
выполняется один раз при компиляции
А из метаданных доктрины список репозиториев не получить было чтобы не завязываться на конкретный путь и паттерн?
Обсуждают сегодня