Метод getArguments
Метод getArguments класса Input возвращает
ассоциативный массив всех аргументов, переданных
команде при запуске. Ключами массива являются имена
аргументов, а значениями - переданные значения.
Метод не принимает параметров и возвращает массив.
Аргументы команды объявляются в методе configure
через метод addArgument. После запуска команды
все переданные значения доступны через getArguments.
Синтаксис
$res = $input->getArguments();
Пример
Давайте создадим команду с двумя аргументами
name и type и выведем все аргументы
через getArguments:
<?php
namespace AppCommand;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleOutputOutputInterface;
class ArticleCommand extends Command
{
protected static $defaultName = 'app:article';
protected function configure(): void
{
$this
->addArgument('name')
->addArgument('type');
}
protected function execute(InputInterface $input, OutputInterface $output): int
{
$res = $input->getArguments();
$output->writeln(json_encode($res));
return Command::SUCCESS;
}
}
?>
Запустим команду с аргументами:
php bin/console app:article abcde user
Результат выполнения кода:
{"command":"app:article","name":"abcde","type":"user"}
Пример
Давайте получим конкретный аргумент из массива,
вернувшегося методом getArguments:
<?php
namespace AppCommand;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleOutputOutputInterface;
class ArticleCommand extends Command
{
protected static $defaultName = 'app:article';
protected function configure(): void
{
$this
->addArgument('name')
->addArgument('type');
}
protected function execute(InputInterface $input, OutputInterface $output): int
{
$res = $input->getArguments();
$output->writeln($res['name']);
$output->writeln($res['type']);
return Command::SUCCESS;
}
}
?>
Запустим команду:
php bin/console app:article abcde user
Результат выполнения кода:
abcde
user
Смотрите также
-
класс
Input,
который предоставляет доступ к аргументам и опциям команды -
метод
getArgument,
который возвращает значение конкретного аргумента -
метод
getOptions,
который возвращает массив всех опций команды -
метод
hasArgument,
который проверяет наличие аргумента у команды