*/ abstract class AbstractAdminResourcesCompiler implements CompilerPassInterface { /** * @return Array of resources * Exemple : * [ * "ADDRESS" => "admin.address", * ... * ] */ abstract public function getResources(); /** * @return string ModuleCode */ abstract public function getModuleCode(); /** * Allow module to add resources in AdminResources Service * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container */ public function process(\Symfony\Component\DependencyInjection\ContainerBuilder $container) { if (!$container->hasDefinition("thelia.admin.resources")) { return; } /** @var \Symfony\Component\DependencyInjection\Definition $adminResources */ $adminResources = $container->getDefinition("thelia.admin.resources"); $adminResources->addMethodCall("addModuleResources", [$this->getResources(), $this->getModuleCode()]); } }