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

Метод has класса Application

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

Синтаксис

public function has(string $name): bool

Пример

Давайте создадим приложение, добавим команду и проверим её наличие через метод has:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; class ArticleCommand extends Command { protected static $defaultName = 'app:article'; protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('article'); return Command::SUCCESS; } } ?>

Теперь проверим наличие команды в приложении:

<?php use AppCommandArticleCommand; use SymfonyComponentConsoleApplication; $app = new Application(); $app->add(new ArticleCommand()); $res = $app->has('app:article'); var_dump($res); ?>

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

true

Пример

Давайте проверим наличие несуществующей команды:

<?php use SymfonyComponentConsoleApplication; $app = new Application(); $res = $app->has('app:unknown'); var_dump($res); ?>

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

false

Пример

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

<?php use AppCommandArticleCommand; use SymfonyComponentConsoleApplication; $app = new Application(); if (!$app->has('app:article')) { $app->add(new ArticleCommand()); } $res = $app->has('app:article'); var_dump($res); ?>

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

true

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

  • класс SymfonyStyle,
    который оформляет вывод в консоли
  • класс Application,
    который представляет консольное приложение
  • метод add,
    который регистрирует команду в приложении
  • метод get,
    который возвращает команду по её имени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить