Класс 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Вывод на уровне подробности.
- 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, не будет задаваться вопрос о перезаписи существующих файлов.
Возвращает
booleanУспех.
Выбрасывает
Cake\Console\Exception\StopExceptionКогда q является ответом на вопрос о перезаписи файла.
err()source public
err( string|array $message = '' , integer $newlines = 1 )
Выводит одно или несколько сообщений об ошибках в stderr. Если нет параметров, выводит только символ новой строки.
Параметры
- строка|массив
$messageнеобязательный '' - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество символов новой строки для добавления
Возвращает
целое число|booleanКоличество байтов, возвращенных при записи в stderr.
error()source public
error( string|array|null $message = null , integer $newlines = 1 )
Метод-обертка для err(), который заключает сообщение между тегами
Параметры
- строка|массив|null
$messageнеобязательный null - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество символов новой строки для добавления
Возвращает
целое число|booleanКоличество байтов, возвращенных при записи в 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 - Уровень вывода сообщения, см. выше.
Возвращает
целое число|booleanКоличество байтов, возвращенных при записи в 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 )
Выводит одно или несколько сообщений в стандартный вывод. Если нет параметров, выводит только символ новой строки.
Уровни вывода
Есть 3 встроенных уровня вывода. ConsoleIo::QUIET, ConsoleIo::NORMAL, ConsoleIo::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet, присутствующим в большинстве оболочек. Использование ConsoleIo::QUIET для сообщения означает, что оно всегда будет отображаться. Использование ConsoleIo::VERBOSE означает, что оно будет отображаться только при включенном режиме verbose.
Параметры
- строка|массив
$messageнеобязательный '' - Строка или массив строк для вывода
- целое число
$newlinesнеобязательный 1 - Количество символов новой строки для добавления
- целое число
$levelнеобязательный self::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
целое число|booleanКоличество байтов, возвращенных при записи в stdout.
outputAs()source public deprecated
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 - Количество символов новой строки для добавления
Возвращает
целое число|booleanКоличество байтов, возвращенных при записи в stdout.
setLoggers()source public
setLoggers( integer|boolean $enable )
Подключение или отключение логгеров к выводу консоли.
Используется для включения или выключения вывода логов в stdout и stderr через класс Cake\Log. Если вы не хотите, чтобы весь вывод логов был в stdout или stderr через класс Cake's Log, вызовите эту функцию с $enable=false.
Параметры
- целое число|boolean
$enable Используйте boolean для включения/выключения всех логов. Используйте одну из констант уровня подробности (self::VERBOSE, self::QUIET, self::NORMAL) для управления уровнями логов. VERBOSE включает debug-логи, NORMAL не включает debug-логи, QUIET отключает notice, info и debug-логи.
setOutputAs()source public
setOutputAs( integer $mode )
Изменить режим вывода потока stdout
Параметры
- integer
$mode - Режим вывода.
См. также
\Cake\Console\ConsoleOutput::setOutputAs()styles()source public
styles( string|null $style = null , array|boolean|null $definition = null )
Добавление нового стиля вывода или получение определенных стилей.
Параметры
- string|null
$styleнеобязательно null - Стиль для получения или создания.
- array|boolean|null
$definitionнеобязательно null Массивовое определение стиля для изменения или создания стиля, или false для удаления стиля.
Возвращает
mixedЕсли вы получаете стили, будет возвращен стиль или null. Если вы создаете/изменяете стили, будет возвращен true.
См. также
\Cake\Console\ConsoleOutput::styles()success()source public
success( string|array|null $message = null , integer $newlines = 1 , integer $level = self::NORMAL )
Удобный метод для out(), который оборачивает сообщение тегами
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
- integer
$levelнеобязательно self::NORMAL - Уровень вывода сообщения, см. выше.
Возвращает
integer|booleanКоличество байтов, возвращенных при записи в stdout.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#ConsoleIo::outverbose()source public
verbose( string|array $message , integer $newlines = 1 )
Вывод на уровне verbose.
Параметры
- string|array
$message - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращенных при записи в stdout.
warning()source public
warning( string|array|null $message = null , integer $newlines = 1 )
Удобный метод для err(), который оборачивает сообщение тегами
Параметры
- string|array|null
$messageнеобязательно null - Строка или массив строк для вывода
- integer
$newlinesнеобязательно 1 - Количество символов новой строки для добавления
Возвращает
integer|booleanКоличество байтов, возвращенных при записи в stderr.
См. также
https://book.cakephp.org/3.0/ru/console-and-shells.html#ConsoleIo::errwrapMessageWithType()source protected
wrapMessageWithType( string $messageType , string|array $message )
Оборачивает сообщение с указанным типом сообщения, например
Параметры
- string
$messageType - Тип сообщения, например "warning".
- string|array
$message - Сообщение для оборачивания.
Возвращает
array|stringСообщение, обернутое в указанный тип сообщения.
Подробное описание свойств
$_lastWrittensource
protected integer
Количество байтов, последне записанных в поток вывода, используемых при перезаписи предыдущего сообщения.
© 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.7/class-Cake.Console.ConsoleIo.html