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

Класс Application

Класс Application представляет собой консольное приложение Symfony. Он хранит коллекцию команд, умеет искать команду по имени и запускать её через метод run. Первым параметром конструктор принимает имя приложения, вторым - версию. Команды добавляются через метод add, а получить их можно методами get, has, all и find.

Синтаксис

<?php use Symfony\Component\Console\Application; $app = new Application(name, version); ?>

Пример

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

<?php use Symfony\Component\Console\Application; $app = new Application('my-app', '1.0.0'); echo $app->getName(); ?>

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

"my-app"

Пример

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

<?php use Symfony\Component\Console\Application; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; class HelloCommand extends Command { protected static $defaultName = 'app:hello'; protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('hello'); return Command::SUCCESS; } } $app = new Application('my-app', '1.0.0'); $app->add(new HelloCommand()); var_dump($app->has('app:hello')); ?>

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

true

Пример

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

<?php use Symfony\Component\Console\Application; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; class HelloCommand extends Command { protected static $defaultName = 'app:hello'; protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('hello'); return Command::SUCCESS; } } $app = new Application('my-app', '1.0.0'); $app->add(new HelloCommand()); $command = $app->get('app:hello'); echo $command->getName(); ?>

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

"app:hello"

Пример

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

<?php use Symfony\Component\Console\Application; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; class HelloCommand extends Command { protected static $defaultName = 'app:hello'; protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('hello'); return Command::SUCCESS; } } $app = new Application('my-app', '1.0.0'); $app->add(new HelloCommand()); $app->setAutoExit(false); $app->run(); ?>

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

php bin/app.php app:hello
hello

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

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