extensionManager = $extensionManager; $this->translatorManager = $translatorManager; } /** * Generate. * * @param string $extension Extension name * @param string $extensionType Extension type * @param string $name Command name * @param string $class Class name * @param boolean $containerAware Container Aware command * @param array $services Services array */ public function generate($extension, $extensionType, $name, $class, $containerAware, $services) { $command_key = str_replace(':', '.', $name); $extensionObject = $this->extensionManager->getDrupalExtension($extensionType, $extension); $parameters = [ 'extension' => $extension, 'extensionType' => $extensionType, 'name' => $name, 'class_name' => $class, 'container_aware' => $containerAware, 'command_key' => $command_key, 'services' => $services, 'tags' => ['name' => 'drupal.command'], 'class_path' => sprintf('Drupal\%s\Command\%s', $extension, $class), 'file_exists' => file_exists($extensionObject->getPath().'/console.services.yml'), ]; $this->renderFile( 'module/src/Command/command.php.twig', $extensionObject->getCommandDirectory().$class.'.php', $parameters ); $parameters['name'] = $extension.'.'.str_replace(':', '_', $name); $this->renderFile( 'module/services.yml.twig', $extensionObject->getPath() .'/console.services.yml', $parameters, FILE_APPEND ); $this->renderFile( 'module/src/Command/console/translations/en/command.yml.twig', $extensionObject->getPath().'/console/translations/en/'.$command_key.'.yml' ); } }