Метод listing
Метод listing класса SymfonyStyle выводит список элементов в консоль.
Первым параметром передаётся массив элементов списка.
Вторым параметром можно передать заголовок списка.
Третьим параметром задаётся тип списка: 'ul' для маркированного
или 'ol' для нумерованного.
Метод возвращает объект SymfonyStyle, что позволяет строить цепочки вызовов.
Синтаксис
$io->listing(array $elements, string $prefix = '', string $type = 'ul');
Пример
Давайте выведем простой маркированный список элементов:
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
class ArticleCommand extends Command
{
protected static $defaultName = 'app:article';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$io = new SymfonyStyle($input, $output);
$io->listing(['article 1', 'article 2', 'article 3']);
return Command::SUCCESS;
}
}
?>
Результат выполнения кода:
* article 1
* article 2
* article 3
Пример
Давайте передадим заголовок списка вторым параметром:
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
class ArticleCommand extends Command
{
protected static $defaultName = 'app:article';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$io = new SymfonyStyle($input, $output);
$io->listing(['article 1', 'article 2', 'article 3'], 'Articles');
return Command::SUCCESS;
}
}
?>
Результат выполнения кода:
Articles
* article 1
* article 2
* article 3
Пример
Давайте выведем нумерованный список, передав третьим параметром 'ol':
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
class ArticleCommand extends Command
{
protected static $defaultName = 'app:article';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$io = new SymfonyStyle($input, $output);
$io->listing(['abcde', 'hello', 'user'], 'Items', 'ol');
return Command::SUCCESS;
}
}
?>
Результат выполнения кода:
Items
1. abcde
2. hello
3. user
Смотрите также
-
класс
SymfonyStyle,
который предоставляет методы для вывода в консоль -
метод
title,
который выводит заголовок -
метод
section,
который выводит секцию -
метод
table,
который выводит таблицу