Table
in package
Рендер таблицы с рамкой, выравниванием колонок и юникод-корректной шириной.
Ширина колонок считается по видимым символам (ANSI-оформление и многобайтные символы не ломают выравнивание). Стиль рамки задаётся BorderStyle, выравнивание — списком Align по колонкам.
Table of Contents
Methods
- __construct() : mixed
- lines() : Generator<int, string>
- Построчный рендер таблицы без материализации результата.
- render() : string
- Построить таблицу из заголовков и строк.
- renderTo() : void
- Отрисовать таблицу прямо в приёмник вывода, не накапливая результат.
Methods
__construct()
public
__construct([BorderStyle $border = BorderStyle::Square ][, array<int, Align> $aligns = [] ]) : mixed
Parameters
- $border : BorderStyle = BorderStyle::Square
-
стиль рамки
- $aligns : array<int, Align> = []
-
выравнивание по колонкам (недостающие — влево)
lines()
Построчный рендер таблицы без материализации результата.
public
lines(array<int, string> $headers, array<int, array<int, string>> $rows) : Generator<int, string>
Позволяет печатать таблицы любого размера при постоянном расходе памяти: в куче живёт только текущая строка, а не вся таблица целиком.
Parameters
- $headers : array<int, string>
-
заголовки колонок
- $rows : array<int, array<int, string>>
-
строки таблицы
Return values
Generator<int, string> —строки таблицы без перевода строки
render()
Построить таблицу из заголовков и строк.
public
render(array<int, string> $headers, array<int, array<int, string>> $rows) : string
Parameters
- $headers : array<int, string>
-
заголовки колонок
- $rows : array<int, array<int, string>>
-
строки таблицы
Return values
string —таблица, завершённая переводом строки
renderTo()
Отрисовать таблицу прямо в приёмник вывода, не накапливая результат.
public
renderTo(Writer $writer, array<int, string> $headers, array<int, array<int, string>> $rows) : void
Parameters
- $writer : Writer
-
приёмник вывода
- $headers : array<int, string>
-
заголовки колонок
- $rows : array<int, array<int, string>>
-
строки таблицы