Box
in package
FinalYes
Обрамление многострочного текста рамкой с необязательным заголовком.
Ширина рамки подстраивается под самую длинную строку содержимого (по видимым символам, ANSI-оформление не искажает выравнивание). Стиль рамки задаётся BorderStyle.
Table of Contents
Methods
- __construct() : mixed
- lines() : Generator<int, string>
- Построчный рендер рамки без материализации результата.
- render() : string
- Обрамить текст рамкой.
- renderTo() : void
- Отрисовать рамку прямо в приёмник вывода, не накапливая результат.
Methods
__construct()
public
__construct([BorderStyle $border = BorderStyle::Round ][, int $padding = 1 ]) : mixed
Parameters
- $border : BorderStyle = BorderStyle::Round
-
стиль рамки
- $padding : int = 1
-
горизонтальный отступ текста от рамки (≥ 0)
Tags
lines()
Построчный рендер рамки без материализации результата.
public
lines(string $content[, string|null $title = null ]) : Generator<int, string>
Parameters
- $content : string
-
содержимое (строки разделены
\n) - $title : string|null = null
-
заголовок в верхней грани рамки
Return values
Generator<int, string> —строки рамки без перевода строки
render()
Обрамить текст рамкой.
public
render(string $content[, string|null $title = null ]) : string
Parameters
- $content : string
-
содержимое (строки разделены
\n) - $title : string|null = null
-
заголовок в верхней грани рамки
Return values
string —текст в рамке, завершённый переводом строки
renderTo()
Отрисовать рамку прямо в приёмник вывода, не накапливая результат.
public
renderTo(Writer $writer, string $content[, string|null $title = null ]) : void
Parameters
- $writer : Writer
-
приёмник вывода
- $content : string
-
содержимое (строки разделены
\n) - $title : string|null = null
-
заголовок в верхней грани рамки