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

Класс Output

Класс Output отвечает за вывод информации в консоль в командах Symfony. Он позволяет записывать строки, управлять переносами строк и проверять текущий уровень детализации. Объект Output доступен внутри метода execute команды.

Синтаксис

$output->writeln(string $message); $output->write(string $message);

Пример

Давайте выведем строку через метод writeln:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; use SymfonyComponentConsoleAttributeAsCommand; #[AsCommand(name: 'app:article')] class ArticleCommand extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { $output->writeln('hello'); return Command::SUCCESS; } } ?>

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

hello

Пример

Давайте выведем массив строк с помощью метода writeln:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; use SymfonyComponentConsoleAttributeAsCommand; #[AsCommand(name: 'app:article')] class ArticleCommand extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { $arr = ['article 1', 'article 2', 'article 3']; foreach ($arr as $elem) { $output->writeln($elem); } return Command::SUCCESS; } } ?>

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

article 1 article 2 article 3

Пример

Давайте проверим уровень детализации через метод isVerbose:

<?php namespace AppCommand; use SymfonyComponentConsoleCommandCommand; use SymfonyComponentConsoleInputInputInterface; use SymfonyComponentConsoleOutputOutputInterface; use SymfonyComponentConsoleAttributeAsCommand; #[AsCommand(name: 'app:article')] class ArticleCommand extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { if ($output->isVerbose()) { $output->writeln('verbose mode'); } return Command::SUCCESS; } } ?>

Результат выполнения команды с флагом -v:

php bin/console app:article -v

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

verbose mode

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

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