class GenerateMenusCommand

Attributes

#[AsCommand(name: 'devel-generate:menus', description: 'Create menus.', aliases: [ 'genm', 'devel-generate-menus', ])]

Hierarchy

  • class \Drupal\devel_generate\Drush\Commands\GenerateMenusCommand uses \Drush\Commands\AutowireTrait extends \Symfony\Component\Console\Command\Command

Expanded class hierarchy of GenerateMenusCommand

File

devel_generate/src/Drush/Commands/GenerateMenusCommand.php, line 16

Namespace

Drupal\devel_generate\Drush\Commands
View source
final class GenerateMenusCommand extends Command {
  use AutowireTrait;
  const PLUGIN_ID = 'menu';
  public function __construct(protected DevelGeneratePluginManager $manager) {
    parent::__construct();
  }
  protected function configure() : void {
    $this->addArgument('number_menus', InputArgument::OPTIONAL, 'Number of menus to generate.', '2')
      ->addArgument('number_links', InputArgument::OPTIONAL, 'Number of links to generate.', '50')
      ->addArgument('max_depth', InputArgument::OPTIONAL, 'Max link depth.', '3')
      ->addArgument('max_width', InputArgument::OPTIONAL, 'Max width of first level of links.', '8')
      ->addOption('kill', NULL, InputOption::VALUE_NONE, 'Delete any menus and menu links previously created by devel_generate before generating new ones.');
  }
  public function execute(InputInterface $input, OutputInterface $output) : int {
    /** @var \Drupal\devel_generate\DevelGenerateBaseInterface $instance */
    $instance = $this->manager
      ->createInstance(self::PLUGIN_ID, []);
    $parameters = $instance->validateDrushParams($input->getArguments(), $input->getOptions());
    $instance->generate($parameters);
    return Command::SUCCESS;
  }

}

Members

Title Sort descending Modifiers Object type Summary
GenerateMenusCommand::configure protected function
GenerateMenusCommand::execute public function
GenerateMenusCommand::PLUGIN_ID constant
GenerateMenusCommand::__construct public function