Класс ConsoleIo
Обёртка вокруг различных операций ввода-вывода, необходимых для задач оболочки.
Объединяет потоки stdout, stderr и stdin, предоставляя простой и согласованный интерфейс для использования оболочками. Этот класс также упрощает создание моков потоков для тестирования.
Краткое описание констант
-
integerNORMAL1 -
integerQUIET0 -
integerVERBOSE2
Краткое описание свойств
- Поток ошибок
$_errprotected - Регистр помощников.
$_helpersprotected - Поток ввода
$_inprotected -
$_lastWrittenprotectedintegerКоличество байтов, последняя запись в поток вывода, используется при перезаписи предыдущего сообщения.
-
$_levelprotectedТекущий уровень вывода.integer - Поток вывода
$_outprotected -
$forceOverwriteprotectedФайлы должны перезаписыватьсяboolean
Краткое описание методов
- __construct() publicКонструктор
- _getInput() protectedЗапрашивает у пользователя ввод и возвращает его.
- ask() publicЗапрашивает у пользователя ввод и возвращает его.
- askChoice() publicЗапрашивает у пользователя ввод на основе списка вариантов и возвращает его.
- createFile() publicСоздать файл по заданному пути.
- err() public
Выводит одно или несколько сообщений об ошибках в stderr. Если параметров нет, выводит только перевод строки.
- error() publicМетод для удобства использования err(), который обёртывает сообщение тегами
- helper() publicОтобразить помощник консоли
- hr() publicВыводит серию символов минус в стандартный вывод, используется в качестве визуального разделителя.
- info() publicМетод для удобства использования out(), который обёртывает сообщение тегами
- level() publicПолучить/установить текущий уровень вывода.
- nl() publicВозвращает последовательность одной или нескольких переводов строк.
- out() public
Выводит одно или несколько сообщений в stdout. Если параметров нет, выводит только перевод строки.
- Изменить режим вывода потока stdout
- overwrite() publicПерезаписать некоторые уже выведенные тексты.
- quiet() publicВывод на всех уровнях.
- setLoggers() publicПодключает или отключает логгеры к выводу консоли.
- setOutputAs() publicИзменить режим вывода потока stdout
- styles() publicДобавить новый стиль вывода или получить определённые стили.
- success() publicМетод для удобства использования out(), который обёртывает сообщение тегами
- verbose() publicВывод на уровне verbose.
- warning() publicМетод для удобства использования err(), который обёртывает сообщение тегами
- wrapMessageWithType() protectedОбертывает сообщение с заданным типом сообщения, например,
Подробное описание методов
__construct()source public
__construct( Cake\Console\ConsoleOutput $out = null , Cake\Console\ConsoleOutput $err = null , Cake\Console\ConsoleInput $in = null , Cake\Console\HelperRegistry $helpers = null )
Конструктор
Параметры
-
Cake\Console\ConsoleOutput$outнеобязательно null - Объект ConsoleOutput для stdout.
-
Cake\Console\ConsoleOutput$errнеобязательно null - Объект ConsoleOutput для stderr.
-
Cake\Console\ConsoleInput$inнеобязательно null - Объект ConsoleInput для stdin.
-
Cake\Console\HelperRegistry$helpersнеобязательно null - Экземпляр HelperRegistry
_getInput()source protected
_getInput( string $prompt , string|null $options , string|null $default )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|null
$options - Строка вариантов. Передайте null, чтобы пропустить.
- строка|null
$default - Значение ввода по умолчанию. Передайте null, чтобы пропустить.
Возвращает
строкаЛибо значение по умолчанию, либо введённое пользователем.
ask()source public
ask( string $prompt , string|null $default = null )
Запрашивает у пользователя ввод и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
смешанноеЛибо значение по умолчанию, либо введённое пользователем.
askChoice()source public
askChoice( string $prompt , string|array $options , string|null $default = null )
Запрашивает у пользователя ввод на основе списка вариантов и возвращает его.
Параметры
- строка
$prompt - Текст запроса.
- строка|массив
$options - Массив или строка вариантов.
- строка|null
$defaultнеобязательно null - Значение ввода по умолчанию.
Возвращает
смешанноеЛибо значение по умолчанию, либо введённое пользователем.
createFile()source public
createFile( string $path , string $contents , boolean $forceOverwrite = false )
Создать файл по заданному пути.
Этот метод запросит у пользователя подтверждение, если файл будет перезаписан. Установка forceOverwrite в значение true предотвратит это поведение и всегда перезапишет файл.
Если пользователь отвечает a последующие forceOverwrite параметры будут принудительно установлены в значение true, и все файлы будут перезаписаны.
Параметры
- строка
$path - Путь для создания файла.
- строка
$contents - Содержание, которое будет помещено в файл.
- логическое значение
$forceOverwriteнеобязательно false Необходимо ли перезаписывать файл. Если значение true, то вопрос о перезаписи существующих файлов не будет задан.
Возвращает
логическое значениеУспех.
Исключения
Cake\Console\Exception\StopExceptionКогда q предоставляется как ответ на вопрос о том, нужно ли перезаписывать файл.
err()source public
err( string|array $message = '' , integer $newlines = 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводится только символ новой строки.
Параметры
- строка|массив
$messageнеобязательно '' - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новых строк для добавления
Возвращает
целое число|логическое значениеКоличество байтов, возвращенных при записи в stderr.
error()source public
error( string|array|null $message = null , integer $newlines = 1 )
Удобный метод для err(), который оборачивает сообщение тегом
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новых строк для добавления
Возвращает
целое число|логическое значениеКоличество байтов, возвращенных при записи в stderr.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#ConsoleIo::errhelper()source public
helper( string $name , array $settings = [] )
Отображение помощника консоли
Создает и отображает вывод для объекта помощника. Если объект помощника еще не загружен, он будет загружен и создан.
Параметры
- строка
$name - Имя помощника для отображения
- массив
$settingsнеобязательно [] - Данные конфигурации для помощника.
Возвращает
Cake\Console\HelperСозданный экземпляр помощника.
hr()source public
hr( integer $newlines = 0 , integer $width = 79 )
Выводит серию символов тире в стандартный вывод, выполняет функцию визуального разделителя.
Параметры
- целое число
$newlinesнеобязательно 0 - Количество символов новых строк для добавления перед и после
- целое число
$widthнеобязательно 79 - Ширина строки, по умолчанию 79
info()source public
info( string|array|null $message = null , integer $newlines = 1 , integer $level = self::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегом
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новых строк для добавления
- целое число
$levelнеобязательно self::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращенных при записи в stdout.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#ConsoleIo::outlevel()source public
level( null|integer $level = null )
Получение/установка текущего уровня вывода.
Параметры
- null|целое число
$levelнеобязательно null - Текущий уровень вывода.
Возвращает
целое числоТекущий уровень вывода.
nl()source public
nl( integer $multiplier = 1 )
Возвращает последовательность одной или нескольких символов новой строки.
Параметры
- целое число
$multiplierнеобязательно 1 - Количество повторений последовательности символов новой строки
Возвращает
строкаout()source public
out( string|array $message = '' , integer $newlines = 1 , integer $level = self::NORMAL )
Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводится только символ новой строки.
Уровни вывода
Существует 3 встроенных уровня вывода. ConsoleIo::QUIET, ConsoleIo::NORMAL, ConsoleIo::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве оболочек. Использование ConsoleIo::QUIET для сообщения означает, что оно всегда будет отображаться. Использование ConsoleIo::VERBOSE означает, что оно будет отображаться только при включенном verbose выводе.
Параметры
- строка|массив
$messageнеобязательно '' - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новых строк для добавления
- целое число
$levelнеобязательно self::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращенных при записи в stdout.
outputAs()source public устарело
outputAs( integer $mode )
Изменение режима вывода потока stdout
Устарело
3.5.0 Используйте setOutputAs() вместо этого.Параметры
- целое число
$mode - Режим вывода.
См. также
\Cake\Console\ConsoleOutput::outputAs()overwrite()source public
overwrite( array|string $message , integer $newlines = 1 , integer|null $size = null )
Перезапись части уже выведенного текста.
Полезно для создания полосок прогресса или когда необходимо заменить текст, уже выведенный на экран, новым текстом.
Предупреждение Вы не можете перезаписать текст, содержащий символы новых строк.
Параметры
- массив|строка
$message - Сообщение для вывода.
- целое число
$newlinesнеобязательно 1 - Количество символов новых строк для добавления.
- целое число|null
$sizeнеобязательно null Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
quiet()source public
quiet( string|array $message , integer $newlines = 1 )
Вывод на всех уровнях.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество символов новых строк для добавления
Возвращает
целое число|логическое значениеКоличество байтов, возвращенных при записи в stdout.
setLoggers()source public
setLoggers( integer|boolean $enable )
Подключает или отключает логгеры к выводу консоли.
Используется для включения или выключения вывода логов в stdout и stderr через класс Log Cake. Если вы не хотите, чтобы весь вывод логов в stdout или stderr проходил через класс Log Cake, вызовите эту функцию со значением $enable=false.
Параметры
- целое число|логическое значение
$enable Используйте логическое значение для включения/выключения всех логов. Используйте одну из констант уровня подробности (self::VERBOSE, self::QUIET, self::NORMAL) для управления уровнями логов. VERBOSE включает отладочные логи, NORMAL не включает отладочные логи, QUIET отключает уведомления, информацию и отладочные логи.
setOutputAs()source public
setOutputAs( integer $mode )
Изменение режима вывода потока stdout
Параметры
- целое число
$mode - Режим вывода.
См. также
\Cake\Console\ConsoleOutput::setOutputAs()styles()source public
styles( string|null $style = null , array|boolean|null $definition = null )
Добавление нового стиля вывода или получение определенных стилей.
Параметры
- строка|null
$styleнеобязательно null - Стиль для получения или создания.
- массив|логическое значение|null
$definitionнеобязательно null Массивная структура определения стиля для изменения или создания стиля, или false для удаления стиля.
Возвращает
смешанный типПри получении стилей возвращается стиль или null. При создании/изменении стилей возвращается true.
См. также
\Cake\Console\ConsoleOutput::styles()success()source public
success( string|array|null $message = null , integer $newlines = 1 , integer $level = self::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегами
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых символов новой строки
- целое число
$levelнеобязательно self::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байт, возвращённых при записи в стандартный вывод.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#ConsoleIo::outverbose()source public
verbose( string|array $message , integer $newlines = 1 )
Вывод на уровне подробности.
Параметры
- строка|массив
$message - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых символов новой строки
Возвращает
целое число|логическое значениеКоличество байт, возвращённых при записи в стандартный вывод.
warning()source public
warning( string|array|null $message = null , integer $newlines = 1 )
Удобный метод для err(), который оборачивает сообщение тегами
Параметры
- строка|массив|null
$messageнеобязательно null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательно 1 - Количество добавляемых символов новой строки
Возвращает
целое число|логическое значениеКоличество байт, возвращённых при записи в стандартный поток ошибок.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#ConsoleIo::errwrapMessageWithType()source protected
wrapMessageWithType( string $messageType , string|array $message )
Оборачивает сообщение заданным типом сообщения, например
Параметры
- строка
$messageType - Тип сообщения, например "warning".
- строка|массив
$message - Сообщение для обёртывания.
Возвращает
массив|строкаСообщение, обернутое заданным типом сообщения.
Подробное описание свойств
$_lastWrittensource
protected целое число
Количество байт, последне записанных в поток вывода, используемое при перезаписи предыдущего сообщения.
© 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.ConsoleIo.html