Terminal
in package
FinalYes
Сведения об окружении терминала: размеры, поддержка цвета, интерактивность.
Данные берутся из переменных окружения (COLUMNS, LINES, NO_COLOR,
FORCE_COLOR) и признака TTY у потока — без порождения внешних процессов
(stty/mode), что исключает сайд-эффекты и делает поведение детерминируемым
и тестируемым.
Table of Contents
Methods
- height() : int
- Высота терминала в строках.
- isInteractive() : bool
- Интерактивен ли поток (подключён к терминалу).
- supportsColor() : bool
- Поддерживает ли поток цветной вывод.
- width() : int
- Ширина терминала в колонках.
Methods
height()
Высота терминала в строках.
public
static height([int $default = 24 ]) : int
Parameters
- $default : int = 24
-
значение, если
LINESне задан
Return values
int —число строк
isInteractive()
Интерактивен ли поток (подключён к терминалу).
public
static isInteractive(resource $stream) : bool
Parameters
- $stream : resource
-
проверяемый поток
Return values
bool —true, если поток — TTY
supportsColor()
Поддерживает ли поток цветной вывод.
public
static supportsColor(resource $stream) : bool
Учитывает стандарты NO_COLOR (отключить) и FORCE_COLOR (принудительно),
иначе смотрит на признак TTY.
Parameters
- $stream : resource
-
проверяемый поток вывода
Return values
bool —true, если цвет уместен
width()
Ширина терминала в колонках.
public
static width([int $default = 80 ]) : int
Parameters
- $default : int = 80
-
значение, если
COLUMNSне задан
Return values
int —число колонок