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

Метод hasArgument класса Input

Метод hasArgument класса Input проверяет, существует ли аргумент с указанным именем. Первым параметром передаётся имя аргумента. Метод возвращает true, если аргумент существует, и false в противном случае.

Класс Input находится в пространстве имён Symfony\Component\Console\Input. Он является базовым классом для ArgvInput и ArrayInput, которые используются при работе с консольными командами.

Синтаксис

public function hasArgument(string $name): bool

Пример

Давайте создадим команду и проверим наличие аргумента user:

<?php namespace App\Command; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; #[AsCommand(name: 'app:article')] class ArticleCommand extends Command { protected function configure(): void { $this->addArgument('user', InputArgument::REQUIRED); } protected function execute(InputInterface $input, OutputInterface $output): int { $res = $input->hasArgument('user'); $output->writeln(var_export($res, true)); return Command::SUCCESS; } } ?>

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

php bin/console app:article abcde
true

Пример

Давайте проверим наличие несуществующего аргумента text:

<?php namespace App\Command; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; #[AsCommand(name: 'app:article')] class ArticleCommand extends Command { protected function configure(): void { $this->addArgument('user', InputArgument::REQUIRED); } protected function execute(InputInterface $input, OutputInterface $output): int { $res = $input->hasArgument('text'); $output->writeln(var_export($res, true)); return Command::SUCCESS; } } ?>

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

php bin/console app:article abcde
false

Пример

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

<?php namespace App\Command; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; #[AsCommand(name: 'app:article')] class ArticleCommand extends Command { protected function configure(): void { $this->addArgument('user', InputArgument::REQUIRED); $this->addArgument('article', InputArgument::OPTIONAL); } protected function execute(InputInterface $input, OutputInterface $output): int { $res = [ 'user' => $input->hasArgument('user'), 'article' => $input->hasArgument('article'), 'text' => $input->hasArgument('text'), ]; $output->writeln(var_export($res, true)); return Command::SUCCESS; } } ?>

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

php bin/console app:article abcde
[ 'user' => true, 'article' => true, 'text' => false, ]

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

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