Spec-Zone.ru › CakePHP 4.4

Класс ConsoleOutput

Обёртка для вывода информации из приложения оболочки. Может быть подключена к любому потоку ресурсов, который можно использовать с fopen()

Может генерировать цветной вывод на консолях, которые его поддерживают. Есть несколько встроенных стилей

  • error Сообщения об ошибках.
  • warning Сообщения об ошибках.
  • info Информационные сообщения.
  • comment Дополнительный текст.
  • question Фиолетовый текст, используемый для запросов пользователя

Определяя стили с помощью addStyle(), вы можете создавать пользовательские стили консоли.

Использование стилей в выводе

Вы можете форматировать вывод консоли с помощью тегов с именем применяемого стиля. Изнутри объекта оболочки

$this->out('<warning>Overwrite:</warning> foo.php was overwritten.');

Это создаст оранжевый текст 'Overwrite:', в то время как остальной текст останется обычного цвета. Чтобы узнать больше о определении собственных стилей, см. ConsoleOutput::styles(). Вложенные стили в настоящее время не поддерживаются.

Пространство имён: Cake\Console

Постоянные значения

  • int
    COLOR
    2

    Цветной вывод - Преобразуйте известные теги в ANSI-коды цветных экранов.

  • string
    LF
    PHP_EOL

    Постоянная величина для новой строки.

  • int
    PLAIN
    1

    Обычный вывод - теги будут удалены.

  • int
    RAW
    0

    Постоянная величина для вывода в исходном формате - без модификации текста вывода.

Резюме свойств

  • $_backgroundColors protected static
    array<string, int>

    Цвета фона, используемые в цветном выводе.

  • $_foregroundColors protected static
    array<string, int>

    Цвета текста, используемые в цветном выводе.

  • $_options protected static
    array<string, int>

    Параметры форматирования для цветного вывода.

  • $_output protected
    resource

    Дескриптор файла для вывода.

  • $_outputAs protected
    int

    Текущий тип вывода.

  • $_styles protected static
    array<string, array>

    Стили, которые доступны в виде тегов в выводе консоли. Вы можете изменить эти стили с помощью ConsoleOutput::styles()

Краткое описание методов

  • __construct() public

    Создать объект вывода.

  • __destruct() public

    Очистить и закрыть дескрипторы.

  • _replaceTags() protected

    Заменить теги цветовыми кодами.

  • _write() protected

    Записать сообщение в поток вывода.

  • getOutputAs() public

    Получить тип вывода для обработки тегов форматирования.

  • getStyle() public

    Получить текущие доступные стили.

  • setOutputAs() public

    Установить тип вывода для обработки тегов форматирования.

  • setStyle() public

    Установить стиль.

  • styleText() public

    Применить стили к тексту.

  • styles() public

    Получить все определения стилей.

  • write() public

    Выводит одно или несколько сообщений в stdout или stderr. Если параметры не переданы, выводится только перевод строки.

Подробное описание методов

__construct() public

__construct(string $stream = 'php://stdout')

Создать объект вывода.

Проверяет наличие среды консоли с красивым отображением. Ansicon и ConEmu поддерживают красивую консоль на Windows.

Параметры

string $stream optional

Идентификатор потока для записи вывода.

__destruct() public

__destruct()

Очистить и закрыть дескрипторы.

_replaceTags() protected

_replaceTags(array<string, string> $matches): string

Заменить теги цветовыми кодами.

Параметры

array<string, string> $matches

Массив совпадений для замены.

Возвращает

string

_write() protected

_write(string $message): int

Записать сообщение в поток вывода.

Параметры

string $message

Сообщение для записи.

Возвращает

int

getOutputAs() public

getOutputAs(): int

Получить тип вывода для обработки тегов форматирования.

Возвращает

int

getStyle() public

getStyle(string $style): array

Получить текущие доступные стили.

Параметры

string $style

Стиль для получения.

Возвращает

array

setOutputAs() public

setOutputAs(int $type): void

Установить тип вывода для обработки тегов форматирования.

Параметры

int $type

Тип вывода. Должен быть одним из констант класса.

Возвращает

void

Исключения

InvalidArgumentException
в случае неподдерживаемого типа вывода.

setStyle() public

setStyle(string $style, array $definition): void

Установить стиль.

Создаёт или изменяет существующий стиль.

$output->setStyle('annoy', ['text' => 'purple', 'background' => 'yellow', 'blink' => true]);

Удалить стиль

$this->output->setStyle('annoy', []);

Параметры

string $style

Стиль для установки.

array $definition

Массивная структура определения стиля для изменения или создания.

Возвращает

void

styleText() public

styleText(string $text): string

Применить стили к тексту.

Параметры

string $text

Текст с тегами стилей.

Возвращает

string

styles() public

styles(): array<string, mixed>

Получить все определения стилей.

Возвращает

array<string, mixed>

write() public

write(array<string>|string $message, int $newlines = 1): int

Выводит одно или несколько сообщений в stdout или stderr. Если параметры не переданы, выводится только перевод строки.

Параметры

array<string>|string $message

Строка или массив строк для вывода.

int $newlines optional

Количество переводов строк для добавления.

Возвращает

int

Подробное описание свойств

$_backgroundColors protected static

Цвета фона, используемые в цветном выводе.

Тип

array<string, int>

$_foregroundColors protected static

Цвета текста, используемые в цветном выводе.

Тип

array<string, int>

$_options protected static

Параметры форматирования для цветного вывода.

Тип

array<string, int>

$_output protected

Дескриптор файла для вывода.

Тип

resource

$_outputAs protected

Текущий тип вывода.

Тип

int

$_styles protected static

Стили, доступные как теги в выводе консоли. Вы можете изменить эти стили с помощью ConsoleOutput::styles()

Тип

array<string, array>

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Console.ConsoleOutput.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API