Класс ConsoleOutput
Обёртка для вывода информации из оболочечного приложения. Может быть подключена к любому потоку ресурсов, который может быть использован с fopen()
Может генерировать цветной вывод на консолях, которые его поддерживают. Есть несколько встроенных стилей
-
errorСообщения об ошибках. -
warningСообщения об ошибках. -
infoИнформационные сообщения. -
commentДополнительный текст. -
questionФиолетовый текст, используемый для запросов пользователя
Определяя стили с помощью addStyle(), вы можете создавать пользовательские стили консоли.
Использование стилей в выводе
Вы можете форматировать вывод консоли, используя теги с именем стиля, который нужно применить. Изнутри объекта оболочки
$this->out('<warning>Overwrite:</warning> foo.php was overwritten.');
Это создаст оранжевый текст 'Overwrite:', в то время как остальной текст сохранит свой обычный цвет. См. ConsoleOutput::styles(), чтобы узнать больше о определении собственных стилей. Вложенные стили на данный момент не поддерживаются.
Непосредственные известные подклассы
Cake\TestSuite\Stub\ConsoleOutputПодробное описание метода
__constructsource public
__construct( string $stream 'php://stdout' )
Конструирует объект вывода.
Проверяет наличие красивой среды консоли. Ansicon и ConEmu позволяют создавать красивые консоли в Windows и поддерживаются.
Параметры
- строка
$streamнеобязательно 'php://stdout' - Идентификатор потока для записи вывода.
_replaceTagssource protected
_replaceTags( array $matches )
Замена тегов на цветовые коды.
Параметры
- массив
$matches - Массив совпадений для замены.
Возвращает
stringстрока
_writesource protected
_write( string $message )
Записывает сообщение в поток вывода.
Параметры
- строка
$message - Сообщение для записи.
Возвращает
booleanуспех
outputAssource public
outputAs( integer|null $type null )
Получить/установить тип вывода для использования. Тип вывода, как обрабатываются теги форматирования.
Параметры
- целое число|null
$typeнеобязательно null - Тип вывода для использования. Должен быть одним из констант класса.
Возвращает
integer|nullЛибо null, либо значение при получении.
styleTextsource public
styleText( string $text )
Применить стили к тексту.
Параметры
- строка
$text - Текст со стилизованными тегами.
Возвращает
stringСтрока с добавленными цветовыми кодами.
stylessource 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 для удаления стиля.
Возвращает
mixedПри получении стилей возвращается стиль или null. При создании/изменении стилей возвращается true.
writesource public
write( string|array $message , integer $newlines 1 )
Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводит только новую строку.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых новых строк
Возвращает
integerВозвращает количество байтов, возвращенных при записи в stdout.
Резюме констант
integer | COLOR Цветной вывод - Преобразует известные теги в коды ANSI цветовых сбросов. | 2 |
string | LF Константа для новой строки. | PHP_EOL |
integer | PLAIN Обычный вывод - теги будут удалены. | 1 |
integer | RAW Константа для необработанного вывода - нет модификаций текста вывода. | 0 |
Резюме свойств
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Console.ConsoleOutput.html