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

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

Метод get класса Application возвращает объект команды, зарегистрированной в приложении. Первым параметром передаётся имя команды, которое было указано при её создании. Если команда с таким именем не найдена, метод выбрасывает исключение CommandNotFoundException.

Синтаксис

public function get(string $name): Command

Пример

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

<?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('hello'); return Command::SUCCESS; } } ?>

Теперь получим эту команду из приложения:

<?php use AppCommandArticleCommand; use SymfonyComponentConsoleApplication; $app = new Application(); $app->add(new ArticleCommand()); $command = $app->get('app:article'); echo $command->getName(); ?>

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

"app:article"

Пример

Давайте обработаем ситуацию, когда команда не найдена:

<?php use SymfonyComponentConsoleApplication; use SymfonyComponentConsoleExceptionCommandNotFoundException; $app = new Application(); try { $command = $app->get('app:unknown'); } catch (CommandNotFoundException $e) { echo $e->getMessage(); } ?>

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

"Command "app:unknown" is not defined."

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

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