Класс ConsoleIo
Обёртка вокруг различных операций ввода-вывода, необходимых для задач оболочки.
Объединяет потоки stdout, stderr и stdin, предоставляя простой и согласованный интерфейс для использования оболочками. Этот класс также упрощает создание имитаций потоков при проведении юнит-тестов.
Константы
-
intNORMAL1
Константа вывода для создания обычных оболочек.
-
intQUIET0
Константы вывода для создания бесшумных оболочек.
-
intVERBOSE2
Константа вывода для создания подробных оболочек.
Краткое описание свойств
- $_err protected
Cake\Console\ConsoleOutputПоток ошибок
- $_helpers protected
Cake\Console\HelperRegistryРегистр помощников.
- $_in protected
Cake\Console\ConsoleInputПоток ввода
- $_lastWritten protected
intКоличество байтов, последний записанных в поток вывода, используемое при перезаписи предыдущего сообщения.
- $_level protected
intТекущий уровень вывода.
- $_out protected
Cake\Console\ConsoleOutputПоток вывода
- $forceOverwrite protected
boolНужно ли перезаписывать файлы
- $interactive protected
bool
Краткое описание методов
-
__construct() public
Конструктор
-
_getInput() protected
Запрашивает у пользователя ввод и возвращает его.
-
abort() public
Прерывает текущий процесс с исключением StopException.
-
ask() public
Запрашивает у пользователя ввод и возвращает его.
-
askChoice() public
Запрашивает у пользователя ввод на основе списка вариантов и возвращает его.
-
comment() public
Удобный метод для out(), который оборачивает сообщение тегами
-
createFile() public
Создаёт файл по заданному пути.
-
err() public
Выводит одно или несколько сообщений об ошибках в stderr. Если параметры не переданы, выводит только символ новой строки.
-
error() public
Удобный метод для err(), который оборачивает сообщение тегами
-
getStyle() public
Получить определённый стиль.
-
helper() public
Отобразить помощника консоли
-
hr() public
Выводит серию символов минус в стандартный вывод, используется в качестве визуального разделителя.
-
info() public
Удобный метод для out(), который оборачивает сообщение тегами
-
level() public
Получить/установить текущий уровень вывода.
-
nl() public
Возвращает одну или несколько последовательностей символов новой строки.
-
out() public
Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводит только символ новой строки.
-
overwrite() public
Перезаписывает часть уже выведенного текста.
-
quiet() public
Вывод на всех уровнях.
-
setInteractive() public
-
setLoggers() public
Подключает или отключает логгеры к выводу консоли.
-
setOutputAs() public
Изменить режим вывода потока stdout
-
setStyle() public
Добавляет новый стиль вывода.
-
styles() public
Получить определённые стили.
-
success() public
Удобный метод для out(), который оборачивает сообщение тегами
-
verbose() public
Вывод на подробном уровне.
-
warning() public
Удобный метод для err(), который оборачивает сообщение тегами
-
wrapMessageWithType() protected
Оборачивает сообщение заданным типом сообщения, например:
Подробное описание методов
__construct() public
__construct(Cake\Console\ConsoleOutput|null $out = null, Cake\Console\ConsoleOutput|null $err = null, Cake\Console\ConsoleInput|null $in = null, Cake\Console\HelperRegistry|null $helpers = null)
Конструктор
Параметры
-
Cake\Console\ConsoleOutput|null$out optional Объект ConsoleOutput для stdout.
-
Cake\Console\ConsoleOutput|null$err optional Объект ConsoleOutput для stderr.
-
Cake\Console\ConsoleInput|null$in optional Объект ConsoleInput для stdin.
-
Cake\Console\HelperRegistry|null$helpers optional Экземпляр HelperRegistry
_getInput() protected
_getInput(string $prompt, string|null $options, string|null $default): string
Запрашивает у пользователя ввод и возвращает его.
Параметры
-
string$prompt Текст запроса.
-
string|null$options Строка параметров. Передайте null, чтобы пропустить.
-
string|null$default Значение ввода по умолчанию. Передайте null, чтобы пропустить.
Возвращает
stringabort() public
abort(string $message, int $code = CommandInterface::CODE_ERROR): void
Приостанавливает текущий процесс с StopException.
Параметры
-
string$message Сообщение об ошибке.
-
int$code optional Код ошибки.
Возвращает
voidВызывает исключение
Cake\Console\Exception\StopExceptionask() public
ask(string $prompt, string|null $default = null): string
Запрашивает у пользователя ввод и возвращает его.
Параметры
-
string$prompt Текст запроса.
-
string|null$default optional Значение ввода по умолчанию.
Возвращает
stringaskChoice() public
askChoice(string $prompt, array<string>|string $options, string|null $default = null): string
Запрашивает у пользователя ввод на основе списка параметров и возвращает его.
Параметры
-
string$prompt Текст запроса.
-
array<string>|string$options Массив или строка параметров.
-
string|null$default optional Значение ввода по умолчанию.
Возвращает
stringcomment() public
comment(array<string>|string $message, int $newlines = 1, int $level = self::NORMAL): int|null
Вспомогательный метод для out(), который заключает сообщение в теги <comment>
Параметры
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество символов новой строки для добавления
-
int$level optional Уровень вывода сообщения, см. выше.
Возвращает
int|nullСм. также
createFile() public
createFile(string $path, string $contents, bool $forceOverwrite = false): bool
Создает файл по заданному пути.
Этот метод запросит подтверждение у пользователя, если файл будет перезаписан. Установка forceOverwrite в true подавит это поведение и всегда будет перезаписывать файл.
Если пользователь ответит a последующие forceOverwrite параметры будут принудительно установлены в true, и все файлы будут перезаписаны.
Параметры
-
string$path Путь для создания файла.
-
string$contents Содержимое файла.
-
bool$forceOverwrite optional Следует ли перезаписывать файл. Если true, вопрос о перезаписи существующих файлов задаваться не будет.
Возвращает
boolВызывает исключение
Cake\Console\Exception\StopExceptionКогда в качестве ответа на вопрос о перезаписи файла указано `q`.
err() public
err(array<string>|string $message = '', int $newlines = 1): int
Выводит одно или несколько сообщений об ошибке в stderr. Если параметры не переданы, выводит только символ новой строки.
Параметры
-
array<string>|string$message optional Строка или массив строк для вывода
-
int$newlines optional Количество символов новой строки для добавления
Возвращает
interror() public
error(array<string>|string $message, int $newlines = 1): int
Вспомогательный метод для err(), который заключает сообщение в теги <error>
Параметры
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество символов новой строки для добавления
Возвращает
intСм. также
getStyle() public
getStyle(string $style): array
Получить определенный стиль.
Параметры
-
string$style Стиль для получения.
Возвращает
arrayСм. также
helper() public
helper(string $name, array<string, mixed> $config = []): Cake\Console\Helper
Рендеринг помощника консоли
Создает и отображает вывод для объекта помощника. Если объект помощника еще не загружен, он будет загружен и сконструирован.
Параметры
-
string$name Имя помощника для рендеринга
-
array<string, mixed>$config optional Данные конфигурации для помощника.
Возвращает
Cake\Console\Helperhr() public
hr(int $newlines = 0, int $width = 79): void
Выводит серию символов минус в стандартный вывод, выступает в качестве визуального разделителя.
Параметры
-
int$newlines optional Количество символов новой строки для добавления в начало и конец
-
int$width optional Ширина линии, по умолчанию 79
Возвращает
voidinfo() public
info(array<string>|string $message, int $newlines = 1, int $level = self::NORMAL): int|null
Вспомогательный метод для out(), который заключает сообщение в теги <info>
Параметры
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество символов новой строки для добавления
-
int$level optional Уровень вывода сообщения, см. выше.
Возвращает
int|nullСм. также
level() public
level(int|null $level = null): int
Получить/установить текущий уровень вывода.
Параметры
-
int|null$level optional Текущий уровень вывода.
Возвращает
intnl() public
nl(int $multiplier = 1): string
Возвращает одну или несколько последовательностей символов перевода строки.
Параметры
-
int$multiplier optional Количество повторений последовательности символов перевода строки
Возвращает
stringout() public
out(array<string>|string $message = '', int $newlines = 1, int $level = self::NORMAL): int|null
Выводит одно или несколько сообщений в stdout. Если параметры не переданы, выводится только символ новой строки.
Уровни вывода
Существует 3 встроенных уровня вывода. ConsoleIo::QUIET, ConsoleIo::NORMAL, ConsoleIo::VERBOSE. Уровни вывода verbose и quiet соответствуют переключателям вывода verbose и quiet в большинстве оболочек. Использование ConsoleIo::QUIET для сообщения означает, что оно всегда будет отображаться. Использование ConsoleIo::VERBOSE означает, что оно будет отображаться только при включенном подробном выводе.
Параметры
-
array<string>|string$message optional Строка или массив строк для вывода
-
int$newlines optional Количество символов новой строки для добавления
-
int$level optional Уровень вывода сообщения, см. выше.
Возвращает
int|nulloverwrite() public
overwrite(array<string>|string $message, int $newlines = 1, int|null $size = null): void
Перезаписывает уже выведенный текст.
Полезно для создания полосок прогресса или когда вы хотите заменить текст, уже выведенный на экран, новым текстом.
Предупреждение Вы не можете перезаписать текст, содержащий символы новой строки.
Параметры
-
array<string>|string$message Сообщение для вывода.
-
int$newlines optional Количество символов новой строки для добавления.
-
int|null$size optional Количество байтов для перезаписи. По умолчанию равно длине последнего выведенного сообщения.
Возвращает
voidquiet() public
quiet(array<string>|string $message, int $newlines = 1): int|null
Вывод на всех уровнях.
Параметры
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество символов новой строки для добавления
Возвращает
int|nullsetInteractive() public
setInteractive(bool $value): void
Параметры
-
bool$value Значение
Возвращает
voidsetLoggers() public
setLoggers(int|bool $enable): void
Подключает или отключает логгеры к выводу консоли.
Используется для включения или выключения вывода потока логгирования в stdout и stderr. Если вы не хотите, чтобы весь вывод логов в stdout или stderr проходил через класс Log Cake, вызовите эту функцию со значением $enable=false.
Параметры
-
int|bool$enable Используйте булево значение для включения/отключения всего логгирования. Используйте одну из констант уровня подробности (self::VERBOSE, self::QUIET, self::NORMAL) для управления уровнями логгирования. VERBOSE включает debug-логи, NORMAL не включает debug-логи, QUIET отключает notice, info и debug-логи.
Возвращает
voidsetOutputAs() public
setOutputAs(int $mode): void
Изменить режим вывода потока stdout
Параметры
-
int$mode Режим вывода.
Возвращает
voidСм. также
setStyle() public
setStyle(string $style, array $definition): void
Добавляет новый стиль вывода.
Параметры
-
string$style Стиль для установки.
-
array$definition Массивная структура определения стиля для изменения или создания.
Возвращает
voidСм. также
styles() public
styles(): array
Получает определенные стили.
Возвращает
arrayСм. также
success() public
success(array<string>|string $message, int $newlines = 1, int $level = self::NORMAL): int|null
Удобный метод для out(), который оборачивает сообщение тегами
Параметры
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество символов новой строки для добавления
-
int$level optional Уровень вывода сообщения, см. выше.
Возвращает
int|nullСм. также
verbose() public
verbose(array<string>|string $message, int $newlines = 1): int|null
Вывод на уровне verbose.
Параметры
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество символов новой строки для добавления
Возвращает
int|nullwarning() public
warning(array<string>|string $message, int $newlines = 1): int
Удобный метод для err(), который оборачивает сообщение тегами
Параметры
-
array<string>|string$message Строка или массив строк для вывода
-
int$newlines optional Количество символов новой строки для добавления
Возвращает
intСм. также
wrapMessageWithType() protected
wrapMessageWithType(string $messageType, array<string>|string $message): array<string>|string
Оборачивает сообщение заданным типом сообщения, например
Параметры
-
string$messageType Тип сообщения, например "warning".
-
array<string>|string$message Оборачиваемое сообщение.
Возвращает
array<string>|stringПодробное описание свойств
$_err protected
Поток ошибок
Тип
Cake\Console\ConsoleOutput$_helpers protected
Регистр помощников.
Тип
Cake\Console\HelperRegistry$_in protected
Поток ввода
Тип
Cake\Console\ConsoleInput$_lastWritten protected
Количество байтов, последне записанных в поток вывода, используется при перезаписи предыдущего сообщения.
Тип
int$_level protected
Текущий уровень вывода.
Тип
int$_out protected
Поток вывода
Тип
Cake\Console\ConsoleOutput$forceOverwrite protected
Надо ли перезаписывать файлы
Тип
bool$interactive protected
Тип
bool
© 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/4.4/class-Cake.Console.ConsoleIo.html