Класс 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Отображает помощника Console
- 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 - Количество новых строк для добавления
Возвращает
целое число|логическое значениеКоличество байтов, возвращенных при записи в 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 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 - Количество новых строк для добавления
Возвращает
целое число|логическое значениеКоличество байтов, возвращенных при записи в stdout.
setLoggers()source public
setLoggers( integer|boolean $enable )
Подключает или отключает логгеры к консольному выводу.
Используется для включения или отключения вывода логов в stdout и stderr через класс Cake's Log. Если вы не хотите, чтобы весь вывод логов в stdout или stderr проходил через класс Cake's Log, вызовите эту функцию со значением $enable=false.
Параметры
- целое число|логическое значение
$enable Используйте булево значение для включения/отключения всех логов. Используйте одну из констант уровня подробности (self::VERBOSE, self::QUIET, self::NORMAL) для управления уровнями логов. VERBOSE включает debug логи, NORMAL не включает debug логи, QUIET отключает notice, info и debug логи.
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 - Уровень вывода сообщения, см. выше.
Возвращает
целое число|логическое значениеКоличество байтов, возвращенных при записи в stdout.
См. также
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 - Количество добавляемых новых строк
Возвращает
целое число|логическое значениеКоличество байтов, возвращенных при записи в stdout.
warning()source public
warning( 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::errwrapMessageWithType()source protected
wrapMessageWithType( string $messageType , string|array $message )
Оборачивает сообщение с заданным типом сообщения, например
Параметры
- строка
$messageType - Тип сообщения, например "предупреждение".
- строка|массив
$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.6/class-Cake.Console.ConsoleIo.html