Класс ConsoleOutput
Обёртка для вывода информации из оболочкового приложения. Может быть подключена к любому ресурсу потока, который можно использовать с fopen()
Может генерировать цветной вывод на консолях, которые его поддерживают. Существует несколько встроенных стилей
-
errorСообщения об ошибках. -
warningСообщения об ошибках. -
infoИнформационные сообщения. -
commentДополнительный текст. -
questionФиолетовый текст, используемый для запросов к пользователю
Определяя стили с помощью addStyle(), вы можете создавать пользовательские стили консоли.
Использование стилей в выводе
Вы можете форматировать вывод консоли, используя теги с именем стиля для применения. Изнутри объекта оболочки
$this->out('<warning>Overwrite:</warning> foo.php was overwritten.'); Это создаст оранжевый текст 'Overwrite:', в то время как остальной текст сохранит свой обычный цвет. См. ConsoleOutput::styles(), чтобы узнать больше о создании собственных стилей. Вложенные стили в настоящее время не поддерживаются.
Прямые подклассы
Краткое описание констант
-
integerCOLOR2 -
stringLFPHP_EOL -
integerPLAIN1 -
integerRAW0
Краткое описание свойств
- Цвета фона, используемые в цветном выводе.
array - Цвета текста, используемые в цветном выводе.
array - Параметры форматирования для цветного вывода.
array -
$_outputprotectedДескриптор файла для вывода.resource -
$_outputAsprotectedТекущий тип вывода. Изменяется с помощью ConsoleOutput::outputAs();integer -
arrayСтили, доступные в виде тегов в выводе консоли. Вы можете изменить эти стили с помощью ConsoleOutput::styles()
Краткое описание методов
- __construct() publicКонструктор объекта вывода.
- __destruct() publicОчистка и закрытие дескрипторов
- _replaceTags() protectedЗамена тегов кодами цвета.
- _write() protectedЗапись сообщения в поток вывода.
- getOutputAs() publicПолучить тип вывода, определяющий обработку тегов форматирования.
- Получить/установить тип вывода для использования. Тип вывода определяет обработку тегов форматирования.
- setOutputAs() publicУстановить тип вывода для обработки тегов форматирования.
- styleText() publicПрименение стилей к тексту.
- styles() publicПолучить доступные стили или добавить новые.
- write() public
Выводит одно или несколько сообщений в stdout или stderr. Если параметры не указаны, выводится только символ новой строки.
Подробное описание методов
__construct()source public
__construct( string $stream = 'php://stdout' )
Конструктор объекта вывода.
Проверяет среду консоли для красивого отображения. Ansicon и ConEmu позволяют получать красивый вывод на Windows и поддерживаются.
Параметры
- строка
$streamнеобязательно 'php://stdout' - Идентификатор потока для записи вывода.
_replaceTags()source protected
_replaceTags( array $matches )
Замена тегов кодами цвета.
Параметры
- массив
$matches - Массив совпадений для замены.
Возвращает
строка_write()source protected
_write( string $message )
Запись сообщения в поток вывода.
Параметры
- строка
$message - Сообщение для записи.
Возвращает
целое число/логическое значениеКоличество байтов, возвращённых из записи в выходной поток.
getOutputAs()source public
getOutputAs( )
Получить тип вывода, определяющий обработку тегов форматирования.
Возвращает
целое числоoutputAs()source public deprecated
outputAs( integer|null $type = null )
Получить/установить тип вывода для использования. Тип вывода определяет обработку тегов форматирования.
Устарело
3.5.0 Используйте getOutputAs()/setOutputAs() вместо этого.Параметры
- целое число/null
$typeнеобязательно null - Тип вывода для использования. Должен быть одной из констант класса.
Возвращает
целое число/nullЛибо null, либо значение при получении.
setOutputAs()source public
setOutputAs( integer $type )
Установить тип вывода для обработки тегов форматирования.
Параметры
- целое число
$type - Тип вывода для использования. Должен быть одной из констант класса.
Исключения
InvalidArgumentExceptionв случае неподдерживаемого типа вывода.
styleText()source public
styleText( string $text )
Применение стилей к тексту.
Параметры
- строка
$text - Текст со стилизованными тегами.
Возвращает
строкаСтрока с добавленными кодами цвета.
styles()source public
styles( string|null $style = null , array|boolean|null $definition = null )
Получить доступные стили или добавить новые.
Получить определение стиля
$output->styles('error'); Получить все определения стилей
$output->styles();
Создать или изменить существующий стиль
$output->styles('annoy', ['text' => 'purple', 'background' => 'yellow', 'blink' => true]); Удалить стиль
$this->output->styles('annoy', false); Параметры
- строка/null
$styleнеобязательно null - Стиль для получения или создания.
- массив/логическое значение/null
$definitionнеобязательно null Массив определения стиля для изменения или создания стиля, либо false для удаления стиля.
Возвращает
смешанный типЕсли получаете стили, возвращается стиль или null. Если создаёте/изменяете стили, возвращается true.
write()source public
write( string|array $message , integer $newlines = 1 )
Выводит одно или несколько сообщений в stdout или stderr. Если параметры не переданы, выводит только перевод строки.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество переводов строк для добавления
Возвращает
целое число|булевоКоличество байт, возвращенных при записи в выходной поток.
Подробное описание свойств
$_backgroundColorssource
protected static массив
Цвета фона, используемые при цветном выводе.
[
'black' => 40,
'red' => 41,
'green' => 42,
'yellow' => 43,
'blue' => 44,
'magenta' => 45,
'cyan' => 46,
'white' => 47
] $_foregroundColorssource
protected static массив
Цвета текста, используемые при цветном выводе.
[
'black' => 30,
'red' => 31,
'green' => 32,
'yellow' => 33,
'blue' => 34,
'magenta' => 35,
'cyan' => 36,
'white' => 37
] $_optionssource
protected static массив
Параметры форматирования для цветного вывода.
[
'bold' => 1,
'underline' => 4,
'blink' => 5,
'reverse' => 7,
] $_outputAssource
protected целое число
Текущий тип вывода. Изменяется с помощью ConsoleOutput::outputAs();
self::COLOR
$_stylessource
protected static массив
Стили, доступные в виде тегов в консольном выводе. Вы можете изменить эти стили с помощью ConsoleOutput::styles()
[
'emergency' => ['text' => 'red'],
'alert' => ['text' => 'red'],
'critical' => ['text' => 'red'],
'error' => ['text' => 'red'],
'warning' => ['text' => 'yellow'],
'info' => ['text' => 'cyan'],
'debug' => ['text' => 'yellow'],
'success' => ['text' => 'green'],
'comment' => ['text' => 'blue'],
'question' => ['text' => 'magenta'],
'notice' => ['text' => 'cyan']
]
© 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/3.8/class-Cake.Console.ConsoleOutput.html