РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1255 of 1361 menu

Параметр aliases

Параметр aliases атрибута AsCommand задаёт список альтернативных имён для консольной команды. Основное имя передаётся первым параметром атрибута, а через aliases можно указать одно или несколько дополнительных имён, по которым команда также будет доступна.

Значением параметра является массив строк. Каждая строка - это отдельное альтернативное имя команды. Пользователь может вызывать команду как по основному имени, так и по любому из псевдонимов.

Синтаксис

#[AsCommand(name, aliases: [alias1, alias2])]

Пример

Давайте создадим команду с основным именем 'app:user' и псевдонимом 'app:u':

<?php namespace AppCommand; use SymfonyComponentConsoleAttributeAsCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; #[AsCommand('app:user', aliases: ['app:u'])] class UserCommand extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('hello'); return Command::SUCCESS; } } ?>

Теперь команду можно вызвать двумя способами:

php bin/console app:user php bin/console app:u

Результат выполнения обоих вызовов:

hello

Пример

Давайте создадим команду с несколькими псевдонимами 'app:article', 'app:a' и 'app:art':

<?php namespace AppCommand; use SymfonyComponentConsoleAttributeAsCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; #[AsCommand('app:article', aliases: ['app:a', 'app:art'])] class ArticleCommand extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('article'); return Command::SUCCESS; } } ?>

Проверим доступные имена через команду list:

php bin/console list app

Результат выполнения команды:

app:a app:article app:art app:article app:article app:article

Любой из трёх вызовов выполнит один и тот же код:

php bin/console app:a php bin/console app:art php bin/console app:article

Результат выполнения:

article

Пример

Давайте создадим команду с описанием и псевдонимом, а затем выведем справку по псевдониму:

<?php namespace AppCommand; use SymfonyComponentConsoleAttributeAsCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; #[AsCommand( 'app:greet', 'Greets the user', aliases: ['app:g'] )] class GreetCommand extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('hello user'); return Command::SUCCESS; } } ?>

Вызовем справку по псевдониму 'app:g':

<+terminal+> php bin/console help app:g <-terminal+>

Результат выполнения команды:

Description: Greets the user Usage: app:greet app:g

Смотрите также

  • атрибут AsCommand,
    который помечает класс как консольную команду
  • параметр name,
    который задаёт основное имя команды
  • параметр description,
    который задаёт описание команды
  • команда list,
    которая выводит список доступных команд
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить