Параметр hidden атрибута AsCommand
Параметр hidden атрибута AsCommand принимает логическое значение и определяет, будет ли команда отображаться в списке доступных команд при вызове bin/console list. Если передать true, команда станет скрытой, но её по-прежнему можно будет вызвать напрямую по имени. По умолчанию параметр равен false, то есть команда видна в списке.
Синтаксис
#[AsCommand(name: name, hidden: true)]
Пример
Давайте создадим обычную команду без параметра hidden и посмотрим на её вывод:
<?php
namespace AppCommand;
use SymfonyComponentConsoleAttributeAsCommand;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleOutputOutputInterface;
#[AsCommand(name: 'app:hello')]
class HelloCommand extends Command
{
protected function execute(InputInterface $input, OutputInterface $output): int
{
$output->writeln('hello');
return Command::SUCCESS;
}
}
?>
Результат выполнения команды php bin/console list:
app:hello hello
Пример
Теперь добавим параметр hidden со значением true:
<?php
namespace AppCommand;
use SymfonyComponentConsoleAttributeAsCommand;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleOutputOutputInterface;
#[AsCommand(name: 'app:hello', hidden: true)]
class HelloCommand extends Command
{
protected function execute(InputInterface $input, OutputInterface $output): int
{
$output->writeln('hello');
return Command::SUCCESS;
}
}
?>
Результат выполнения команды php bin/console list:
""
Команда app:hello пропала из списка. При этом её всё ещё можно вызвать напрямую:
php bin/console app:hello
Результат выполнения команды:
hello
Смотрите также
-
атрибут
AsCommand,
который регистрирует консольную команду -
параметр
name,
который задаёт имя команды -
параметр
description,
который задаёт описание команды -
параметр
aliases,
который задаёт псевдонимы команды