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

Метод getArgument

Метод getArgument класса Input возвращает значение аргумента, который был передан в команду при запуске. Первым параметром передаётся имя аргумента в виде строки. Если аргумент не был определён или не передан, метод выбрасывает исключение InvalidArgumentException.

Метод часто используется внутри метода execute команды для получения данных, введённых пользователем в терминале.

Синтаксис

public function getArgument(string $name): mixed

Параметр name задаёт имя аргумента, значение которого нужно получить.

Пример

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

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputArgument; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; class GreetCommand extends Command { protected static $defaultName = 'app:greet'; protected function configure(): void { $this->addArgument('name', InputArgument::REQUIRED); } protected function execute(InputInterface $input, OutputInterface $output): int { $name = $input->getArgument('name'); $output->writeln('Hello, ' . $name); return Command::SUCCESS; } } ?>

Запустим команду с аргументом user:

php bin/console app:greet user

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

Hello, user

Пример

Давайте создадим команду с двумя аргументами name и count и выведем их значения:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputArgument; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; class RepeatCommand extends Command { protected static $defaultName = 'app:repeat'; protected function configure(): void { $this->addArgument('name', InputArgument::REQUIRED); $this->addArgument('count', InputArgument::OPTIONAL, '', '1'); } protected function execute(InputInterface $input, OutputInterface $output): int { $name = $input->getArgument('name'); $count = (int) $input->getArgument('count'); for ($i = 0; $i < $count; $i++) { $output->writeln($name); } return Command::SUCCESS; } } ?>

Запустим команду с аргументами user и 3:

php bin/console app:repeat user 3

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

user user user

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

  • класс Input,
    который предоставляет доступ к аргументам и опциям команды
  • метод getOption,
    который возвращает значение опции команды
  • метод hasArgument,
    который проверяет наличие аргумента
  • метод getArguments,
    который возвращает все аргументы команды
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить