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

Метод getApplication

Метод getApplication класса Command возвращает объект Application, к которому привязана консольная команда. Через приложение можно получить доступ к другим командам, глобальным опциям, а также к самому консольному приложению. Метод не принимает параметров и возвращает объект Application или null, если команда ещё не привязана к приложению.

Синтаксис

public function getApplication(): ?Application

Пример

Давайте создадим команду и получим в методе execute объект приложения через getApplication:

<?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 { $app = $this->getApplication(); $output->writeln($app->getName()); return Command::SUCCESS; } } ?>

Результат выполнения команды php bin/console app:article:

"Console Tool"

Пример

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

<?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 { $app = $this->getApplication(); $names = array_keys($app->all()); $output->writeln(implode(', ', $names)); return Command::SUCCESS; } } ?>

Результат выполнения команды php bin/console app:article:

"app:article, help, list, about"

Пример

Давайте проверим, привязана ли команда к приложению, и выведем соответствующее сообщение:

<?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 { $app = $this->getApplication(); if (null === $app) { $output->writeln('command is not attached'); return Command::FAILURE; } $output->writeln('command is attached'); return Command::SUCCESS; } } ?>

Результат выполнения команды php bin/console app:article:

"command is attached"

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

  • класс Command,
    от которого наследуются консольные команды
  • метод execute,
    в котором выполняется логика команды
  • метод configure,
    который настраивает имя, описание и аргументы команды
  • метод run,
    который запускает выполнение команды
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить