Метод section
Метод section класса SymfonyStyle выводит крупный заголовок раздела в консоль.
Он используется для визуального разделения вывода команды на логические блоки.
Первым параметром передаётся текст заголовка, вторым - стиль оформления (например, 'error' или 'info').
Метод возвращает объект SymfonyStyle, что позволяет строить цепочки вызовов.
Синтаксис
public function section(string $message, string $style = null): self
Пример
Давайте выведем заголовок секции в консольной команде:
<?php
namespace AppCommand;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleOutputOutputInterface;
use SymfonyComponentConsoleStyleSymfonyStyle;
class ArticleCommand extends Command
{
protected static $defaultName = 'app:article';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$io = new SymfonyStyle($input, $output);
$io->section('Article section');
return Command::SUCCESS;
}
}
?>
Результат выполнения кода:
Article section
===============
Пример
Давайте выведем секцию со стилем 'error':
<?php
namespace AppCommand;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleOutputOutputInterface;
use SymfonyComponentConsoleStyleSymfonyStyle;
class ArticleCommand extends Command
{
protected static $defaultName = 'app:article';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$io = new SymfonyStyle($input, $output);
$io->section('Error section', 'error');
return Command::SUCCESS;
}
}
?>
Результат выполнения кода:
Error section
=============
Пример
Давайте скомбинируем секцию с выводом текста через цепочку вызовов:
<?php
namespace AppCommand;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleInputInputInterface;
use SymfonyComponentConsoleOutputOutputInterface;
use SymfonyComponentConsoleStyleSymfonyStyle;
class ArticleCommand extends Command
{
protected static $defaultName = 'app:article';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$io = new SymfonyStyle($input, $output);
$io->section('User data')
->text('abcde')
->text('hello');
return Command::SUCCESS;
}
}
?>
Результат выполнения кода:
User data
=========
abcde
hello
Смотрите также
-
класс
SymfonyStyle,
который оформляет вывод консольных команд -
метод
title,
который выводит заголовок команды -
метод
text,
который выводит текстовое сообщение -
метод
newLine,
который добавляет пустую строку в вывод