Класс yii\helpers\BaseConsole
| Наследование | yii\helpers\BaseConsole |
|---|---|
| Подклассы | yii\helpers\Console |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseConsole.php |
BaseConsole предоставляет конкретную реализацию для yii\helpers\Console.
Не используйте BaseConsole. Используйте yii\helpers\Console вместо этого.
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| ansiFormat() | Вернёт строку, отформатированную с указанным стилем ANSI | yii\helpers\BaseConsole |
| ansiFormatCode() | Возвращает код формата ANSI. | yii\helpers\BaseConsole |
| ansiStrlen() | Возвращает длину строки без кодов ANSI цветности. | yii\helpers\BaseConsole |
| ansiToHtml() | Преобразует строку с форматом ANSI в HTML | yii\helpers\BaseConsole |
| beginAnsiFormat() | Выводит код формата ANSI, влияющий на форматирование любого текста, выведенного после него. | yii\helpers\BaseConsole |
| clearLine() | Очищает строку, на которой находится курсор, отправив терминалу ANSI-код EL с аргументом 2. | yii\helpers\BaseConsole |
| clearLineAfterCursor() | Очищает текст от позиции курсора до конца строки, отправив терминалу ANSI-код EL с аргументом 0. | yii\helpers\BaseConsole |
| clearLineBeforeCursor() | Очищает текст от позиции курсора до начала строки, отправив терминалу ANSI-код EL с аргументом 1. | yii\helpers\BaseConsole |
| clearScreen() | Очищает весь контент экрана, отправив терминалу ANSI-код ED с аргументом 2. | yii\helpers\BaseConsole |
| clearScreenAfterCursor() | Очищает текст от позиции курсора до конца экрана, отправив терминалу ANSI-код ED с аргументом 0. | yii\helpers\BaseConsole |
| clearScreenBeforeCursor() | Очищает текст от позиции курсора до начала экрана, отправив терминалу ANSI-код ED с аргументом 1. | yii\helpers\BaseConsole |
| confirm() | Запрашивает подтверждение пользователя, введя y или n. | yii\helpers\BaseConsole |
| endAnsiFormat() | Сбрасывает любой формат ANSI, установленный предыдущим методом beginAnsiFormat(). Любой вывод после этого будет иметь стандартный формат текста. | yii\helpers\BaseConsole |
| endProgress() | Завершает индикатор выполнения, запущенный методом startProgress(). | yii\helpers\BaseConsole |
| error() | Выводит текст в STDERR, дополненный символом возврата каретки (PHP_EOL). | yii\helpers\BaseConsole |
| escape() | Экранирует %, чтобы они не интерпретировались как коды цвета при разборе строки методом renderColoredString() | yii\helpers\BaseConsole |
| getScreenSize() | Использование: list($width, $height) = ConsoleHelper::getScreenSize(); | yii\helpers\BaseConsole |
| hideCursor() | Скрывает курсор, отправив терминалу ANSI-код DECTCEM ?25l. | yii\helpers\BaseConsole |
| input() | Запрашивает у пользователя ввод. Заканчивается, когда пользователь нажимает клавишу возврата каретки (PHP_EOL). По желанию, также предоставляет подсказку. | yii\helpers\BaseConsole |
| isRunningOnWindows() | Возвращает true, если консоль запущена в Windows | yii\helpers\BaseConsole |
| markdownToAnsi() | Преобразует Markdown для лучшей читаемости в консольных средах, применяя некоторые форматы ANSI. | yii\helpers\BaseConsole |
| moveCursorBackward() | Перемещает курсор терминала назад, отправив терминалу ANSI-код CUB. | yii\helpers\BaseConsole |
| moveCursorDown() | Перемещает курсор терминала вниз, отправив терминалу ANSI-код CUD. | yii\helpers\BaseConsole |
| moveCursorForward() | Перемещает курсор терминала вперёд, отправив терминалу ANSI-код CUF. | yii\helpers\BaseConsole |
| moveCursorNextLine() | Перемещает курсор терминала в начало следующей строки, отправив терминалу ANSI-код CNL. | yii\helpers\BaseConsole |
| moveCursorPrevLine() | Перемещает курсор терминала в начало предыдущей строки, отправив терминалу ANSI-код CPL. | yii\helpers\BaseConsole |
| moveCursorTo() | Перемещает курсор в абсолютную позицию, заданную столбцом и строкой, отправив терминалу ANSI-код CUP или CHA. | yii\helpers\BaseConsole |
| moveCursorUp() | Перемещает курсор терминала вверх, отправив терминалу ANSI-код CUU. | yii\helpers\BaseConsole |
| output() | Выводит текст в STDOUT, дополненный символом возврата каретки (PHP_EOL). | yii\helpers\BaseConsole |
| prompt() | Запрашивает у пользователя ввод и проверяет его. | yii\helpers\BaseConsole |
| renderColoredString() | Преобразует строку в отформатированную ANSI, заменяя шаблоны, такие как %y (для жёлтого), на ANSI-управляющие коды. | yii\helpers\BaseConsole |
| restoreCursorPosition() | Восстанавливает позицию курсора, сохранённую методом saveCursorPosition(), отправив терминалу ANSI-код RCP. | yii\helpers\BaseConsole |
| saveCursorPosition() | Сохраняет текущую позицию курсора, отправив терминалу ANSI-код SCP. | yii\helpers\BaseConsole |
| scrollDown() | Прокручивает всю страницу вниз, отправив терминалу ANSI-код SD. | yii\helpers\BaseConsole |
| scrollUp() | Прокручивает всю страницу вверх, отправив терминалу ANSI-код SU. | yii\helpers\BaseConsole |
| select() | Предлагает пользователю выбрать из предложенных вариантов. Ввод '?' покажет список вариантов и их описания. | yii\helpers\BaseConsole |
| showCursor() | Покажет курсор снова, если он был скрыт методом hideCursor(), отправив терминалу ANSI-код DECTCEM ?25h. | yii\helpers\BaseConsole |
| startProgress() | Запускает отображение индикатора выполнения на экране. | yii\helpers\BaseConsole |
| stderr() | Выводит строку в STDERR. | yii\helpers\BaseConsole |
| stdin() | Получает ввод из STDIN и возвращает строку, обрезав символы конца строки (EOL). | yii\helpers\BaseConsole |
| stdout() | Выводит строку в STDOUT. | yii\helpers\BaseConsole |
| streamSupportsAnsiColors() | Возвращает true, если поток поддерживает цветовые эффекты. ANSI цвета отключены, если не поддерживаются потоком. | yii\helpers\BaseConsole |
| stripAnsiFormat() | Удаляет ANSI управляющие коды из строки | yii\helpers\BaseConsole |
| updateProgress() | Обновляет полосу прогресса, начатую с помощью startProgress(). | yii\helpers\BaseConsole |
| wrapText() | Перевод текста с отступом для отображения на экране | yii\helpers\BaseConsole |
| xtermBgColor() | Возвращает код ANSI формата для цвета фона xterm. | yii\helpers\BaseConsole |
| xtermFgColor() | Возвращает код ANSI формата для цвета переднего плана xterm. | yii\helpers\BaseConsole |
Constants
Подробное описание методов
ansiFormat() public static method
Вернёт строку, отформатированную с заданным стилем ANSI
| public static string ansiFormat ( $string, $format = [] ) | ||
|---|---|---|
| $string | string |
Строка, подлежащая форматированию |
| $format | array |
Массив, содержащий значения форматирования. Вы можете передать любые из констант |
ansiFormatCode() public static method
Возвращает код форматирования ANSI.
| public static string ansiFormatCode ( $format ) | ||
|---|---|---|
| $format | array |
Массив, содержащий значения форматирования. Вы можете передать любые из констант |
| return | string |
Код форматирования ANSI в соответствии с заданными константами форматирования. |
ansiStrlen() public static method
Возвращает длину строки без кодов ANSI для цвета.
| public static integer ansiStrlen ( $string ) | ||
|---|---|---|
| $string | string |
Строка для измерения |
| return | integer |
Длина строки без учёта символов форматирования ANSI |
ansiToHtml() public static method
Преобразует строку с форматированием ANSI в HTML
Примечание: цвета xTerm 256 бит в настоящее время не поддерживаются.
| public static string ansiToHtml ( $string, $styleMap = [] ) | ||
|---|---|---|
| $string | string |
Строка для преобразования. |
| $styleMap | array |
Необязательное отображение кодов управления ANSI, таких как FG_COLOR или BOLD, на набор определений стилей CSS. Определения стилей CSS представлены как массив, где ключи массива соответствуют именам атрибутов стиля CSS, а значения — значениям CSS. Значения могут быть массивами, которые будут объединены и имплодированы с помощью |
| return | string |
HTML-представление отформатированной строки ANSI |
beginAnsiFormat() public static method
Выводит код форматирования ANSI, который влияет на форматирование любого текста, который печатается после него.
См. также:
| public static void beginAnsiFormat ( $format ) | ||
|---|---|---|
| $format | array |
Массив, содержащий значения форматирования. Вы можете передать любые из констант |
clearLine() public static method
Очищает строку, на которой находится курсор, отправив в терминал код управления ANSI EL с аргументом 2.
Позиция курсора не изменится.
| public static void clearLine ( ) |
|---|
clearLineAfterCursor() public static method
Очищает текст от позиции курсора до конца строки, отправив в терминал код управления ANSI EL с аргументом 0.
Позиция курсора не изменится.
| public static void clearLineAfterCursor ( ) |
|---|
clearLineBeforeCursor() public static method
Очищает текст от позиции курсора до начала строки, отправив в терминал код управления ANSI EL с аргументом 1.
Позиция курсора не изменится.
| public static void clearLineBeforeCursor ( ) |
|---|
clearScreen() public static method
Очищает содержимое всего экрана, отправив в терминал код управления ANSI ED с аргументом 2.
Позиция курсора не изменится. Примечание: реализация ANSI.SYS, используемая в Windows, сбросит позицию курсора в верхний левый угол экрана.
| public static void clearScreen ( ) |
|---|
clearScreenAfterCursor() public static method
Очищает текст от курсора до конца экрана, отправив в терминал код управления ANSI ED с аргументом 0.
Позиция курсора не изменится.
| public static void clearScreenAfterCursor ( ) |
|---|
clearScreenBeforeCursor() public static method
Очищает текст от курсора до начала экрана, отправив в терминал код управления ANSI ED с аргументом 1.
Позиция курсора не изменится.
| public static void clearScreenBeforeCursor ( ) |
|---|
confirm() public static method
Просит пользователя подтвердить, введя y или n.
Типичное использование выглядит следующим образом:
if (Console::confirm("Are you sure?")) {
echo "user typed yes\n";
} else {
echo "user typed no\n";
}
| public static boolean confirm ( $message, $default = false ) | ||
|---|---|---|
| $message | string |
Для вывода перед ожиданием ввода пользователя |
| $default | boolean |
Это значение возвращается, если выбор не сделан. |
| return | boolean |
Подтвердил ли пользователь |
endAnsiFormat() public static method
Сбрасывает любой установленный формат ANSI предыдущим методом beginAnsiFormat() Любой вывод после этого будет иметь стандартный формат текста.
Это равносильно вызову
echo Console::ansiFormatCode([Console::RESET])
| public static void endAnsiFormat ( ) |
|---|
endProgress() public static method
Завершает полосу прогресса, начатую методом startProgress().
См. также:
| public static void endProgress ( $remove = false, $keepPrefix = true ) | ||
|---|---|---|
| $remove | string|boolean |
Это может быть |
| $keepPrefix | boolean |
Включить ли префикс, указанный для полосы прогресса, когда полоса прогресса удаляется. По умолчанию true. |
error() public static method
Выводит текст в STDERR, дополненный символом возврата каретки (PHP_EOL).
| public static integer|boolean error ( $string = null ) | ||
|---|---|---|
| $string | string |
Текст для вывода |
| return | integer|boolean |
Количество напечатанных байтов или false при ошибке. |
escape() public static method
Экранирует % для предотвращения интерпретации как кодов цвета при разборе строки методом renderColoredString()
| public static string escape ( $string ) | ||
|---|---|---|
| $string | string |
Строка для экранирования |
getScreenSize() public static method
Использование: list($width, $height) = ConsoleHelper::getScreenSize();
| public static array|boolean getScreenSize ( $refresh = false ) | ||
|---|---|---|
| $refresh | boolean |
Принудительно проверить и не использовать кешированное значение размера. Это полезно для обнаружения изменения размера окна во время работы приложения, но может не обеспечить актуальные значения на каждом терминале. |
| return | array|boolean |
Массив вида ($width, $height) или false, если размер не удалось определить. |
hideCursor() public static method
Скрывает курсор, отправляя терминалу ANSI DECTCEM код ?25l.
Восстановите курсор с помощью showCursor(). Не забудьте показать курсор при завершении работы приложения. Курсор может остаться скрытым в терминале после завершения.
| public static void hideCursor ( ) |
|---|
input() public static method
Запрашивает ввод от пользователя. Завершается, когда пользователь нажимает клавишу возврата каретки (PHP_EOL). Допускается ввод приглашения.
| public static string input ( $prompt = null ) | ||
|---|---|---|
| $prompt | string |
Приглашение для отображения перед ожиданием ввода (необязательно) |
| return | string |
Ввод пользователя |
isRunningOnWindows() public static method
Возвращает true, если консоль работает в Windows
| public static boolean isRunningOnWindows ( ) |
|---|
markdownToAnsi() public static method
Преобразует Markdown для лучшей читаемости в консольных средах, применяя ANSI форматирование
| public static string markdownToAnsi ( $markdown ) | ||
|---|---|---|
| $markdown | string |
Строка Markdown. |
| return | string |
Результат парсинга в формате ANSI. |
moveCursorBackward() public static method
Перемещает курсор терминала назад, отправляя ANSI код CUB в терминал.
Если курсор уже находится на краю экрана, это не повлияет.
| public static void moveCursorBackward ( $steps = 1 ) | ||
|---|---|---|
| $steps | integer |
Количество шагов для перемещения курсора назад |
moveCursorDown() public static method
Перемещает курсор терминала вниз, отправляя ANSI код CUD в терминал.
Если курсор уже находится на краю экрана, это не повлияет.
| public static void moveCursorDown ( $rows = 1 ) | ||
|---|---|---|
| $rows | integer |
Количество строк для перемещения курсора вниз |
moveCursorForward() public static method
Перемещает курсор терминала вперед, отправляя ANSI код CUF в терминал.
Если курсор уже находится на краю экрана, это не повлияет.
| public static void moveCursorForward ( $steps = 1 ) | ||
|---|---|---|
| $steps | integer |
Количество шагов для перемещения курсора вперед |
moveCursorNextLine() public static method
Перемещает курсор терминала в начало следующей строки, отправляя ANSI код CNL в терминал.
| public static void moveCursorNextLine ( $lines = 1 ) | ||
|---|---|---|
| $lines | integer |
Количество строк для перемещения курсора вниз |
moveCursorPrevLine() public static method
Перемещает курсор терминала в начало предыдущей строки, отправляя ANSI код CPL в терминал.
| public static void moveCursorPrevLine ( $lines = 1 ) | ||
|---|---|---|
| $lines | integer |
Количество строк для перемещения курсора вверх |
moveCursorTo() public static method
Перемещает курсор в абсолютную позицию, заданную колонкой и строкой, отправив ANSI код CUP или CHA в терминал.
| public static void moveCursorTo ( $column, $row = null ) | ||
|---|---|---|
| $column | integer |
Номер столбца (1-основанный), 1 — левый край экрана. |
| $row | integer|null |
Номер строки (1-основанный), 1 — верхний край экрана. Если не задано, курсор будет перемещен только в текущей строке. |
moveCursorUp() public static method
Перемещает курсор терминала вверх, отправив ANSI код CUU в терминал.
Если курсор уже находится на краю экрана, это не повлияет.
| public static void moveCursorUp ( $rows = 1 ) | ||
|---|---|---|
| $rows | integer |
Количество строк для перемещения курсора вверх |
output() public static method
Выводит текст в STDOUT, дополняя его символом возврата каретки (PHP_EOL).
| public static integer|boolean output ( $string = null ) | ||
|---|---|---|
| $string | string |
Текст для вывода |
| return | integer|boolean |
Количество напечатанных байтов или false при ошибке. |
prompt() public static method
Запрашивает у пользователя ввод и валидирует его
| public static string prompt ( $text, $options = [] ) | ||
|---|---|---|
| $text | string |
Строка приглашения |
| $options | array |
Параметры для валидации ввода:
|
| return | string |
Ввод пользователя |
renderColoredString() public static method
Преобразует строку в формат ANSI, заменяя шаблоны, такие как %y (для желтого), на ANSI управляющие коды
Использует почти тот же синтаксис, что и https://github.com/pear/Console_Color2/blob/master/Console/Color2.php. Таблица преобразований: ('bold' означает 'light' на некоторых терминалах). Это почти та же таблица преобразований, что и в irssi.
text text background
------------------------------------------------
%k %K %0 black dark grey black
%r %R %1 red bold red red
%g %G %2 green bold green green
%y %Y %3 yellow bold yellow yellow
%b %B %4 blue bold blue blue
%m %M %5 magenta bold magenta magenta
%p %P magenta (think: purple)
%c %C %6 cyan bold cyan cyan
%w %W %7 white bold white white
%F Blinking, Flashing
%U Underline
%8 Reverse
%_,%9 Bold
%n Resets the color
%% A single %
Первый параметр — это строка для преобразования, второй — необязательный флаг, указывающий, следует ли использовать цвета. По умолчанию он равен true; если он установлен в false, коды цвета просто будут удалены (а %% преобразуются в %). | public static строка renderColoredString ( $string, $colored = true ) | ||
|---|---|---|
| $string | строка |
Строка для преобразования |
| $colored | логическое |
Следует ли форматировать строку цветами? |
restoreCursorPosition() public static метод
Восстанавливает позицию курсора, сохранённую с помощью saveCursorPosition(), отправив в терминал управляющий код ANSI RCP.
| public static void restoreCursorPosition ( ) |
|---|
saveCursorPosition() public static метод
Сохраняет текущую позицию курсора, отправив в терминал управляющий код ANSI SCP.
Позицию можно восстановить с помощью restoreCursorPosition().
| public static void saveCursorPosition ( ) |
|---|
scrollDown() public static метод
Прокручивает всю страницу вниз, отправив в терминал управляющий код ANSI SD.
Новые строки добавляются вверху. Это не поддерживается ANSI.SYS, используемым в Windows.
| public static void scrollDown ( $lines = 1 ) | ||
|---|---|---|
| $lines | целое число |
Количество строк для прокрутки вниз |
scrollUp() public static метод
Прокручивает всю страницу вверх, отправив в терминал управляющий код ANSI SU.
Новые строки добавляются внизу. Это не поддерживается ANSI.SYS, используемым в Windows.
| public static void scrollUp ( $lines = 1 ) | ||
|---|---|---|
| $lines | целое число |
Количество строк для прокрутки вверх |
select() public static метод
Предлагает пользователю выбор из списка. Ввод '?' покажет список доступных вариантов и их описания.
| public static строка select ( $prompt, $options = [] ) | ||
|---|---|---|
| $prompt | строка |
Сообщение запроса |
| $options | массив |
Массив пар «ключ-значение» доступных вариантов |
| return | строка |
Выбранный символ варианта |
showCursor() public static метод
Покажет курсор, если он был скрыт с помощью hideCursor(), отправив в терминал код ANSI DECTCEM ?25h.
| public static void showCursor ( ) |
|---|
startProgress() public static метод
Запускает отображение прогресс-бара на экране.
Эта полоса будет обновляться с помощью updateProgress() и может быть завершена с помощью endProgress().
Следующий пример демонстрирует простое использование прогресс-бара:
Console::startProgress(0, 1000);
for ($n = 1; $n <= 1000; $n++) {
usleep(1000);
Console::updateProgress($n, 1000);
}
Console::endProgress();
Прогресс-бар, подобный клонированию Git (показывает только информацию о статусе): `php Console::startProgress(0, 1000, 'Подсчёт объектов: ', false); for ($n = 1; $n <= 1000; $n++) {
usleep(1000); Console::updateProgress($n, 1000);
} Console::endProgress("завершено." . PHP_EOL); `
См. также:
| public static void startProgress ( $done, $total, $prefix = '', $width = null ) | ||
|---|---|---|
| $done | целое число |
Количество выполненных элементов. |
| $total | целое число |
Общее количество элементов. |
| $prefix | строка |
Необязательная строка, отображаемая перед прогресс-баром. По умолчанию пустая строка, что не отображает префикс. |
| $width | целое число|логическое |
Необязательная ширина прогресс-бара. Может быть целым числом, представляющим количество символов для отображения прогресс-бара, или дробным числом от 0 до 1, представляющим процентное соотношение занимаемой экрана прогресс-баром. Также может быть установлено в false для отключения полосы и отображения только информации о прогрессе, например, проценты, количество элементов и время ожидания. Если не задано, ширина полосы будет соответствовать ширине экрана. Размер экрана будет определяться с помощью getScreenSize(). |
stderr() public static метод
Выводит строку в STDERR.
| public static целое число|логическое stderr ( $string ) | ||
|---|---|---|
| $string | строка |
Строка для вывода |
| return | целое число|логическое |
Количество напечатанных байтов или false при ошибке |
stdin() public static метод
Получает входные данные из STDIN и возвращает строку, с обрезанными символами EOL справа.
| public static строка stdin ( $raw = false ) | ||
|---|---|---|
| $raw | логическое |
Если установлено в true, возвращает исходную строку без обрезки |
| return | строка |
Строка, считанная из stdin |
stdout() public static метод
Выводит строку в STDOUT.
| public static целое число|логическое stdout ( $string ) | ||
|---|---|---|
| $string | строка |
Строка для вывода |
| return | целое число|логическое |
Количество напечатанных байтов или false при ошибке |
streamSupportsAnsiColors() public static метод
Возвращает true, если поток поддерживает цвет. ANSI цвета отключены, если не поддерживаются потоком.
- windows без ansicon
- не tty консоли
| public static логическое streamSupportsAnsiColors ( $stream ) | ||
|---|---|---|
| $stream | смешанный | |
| return | логическое |
True, если поток поддерживает ANSI цвета, иначе false. |
stripAnsiFormat() public static метод
Удаляет ANSI управляющие коды из строки
| public static строка stripAnsiFormat ( $string ) | ||
|---|---|---|
| $string | строка |
Строка для удаления |
updateProgress() public static метод
Обновляет прогресс-бар, запущенный с помощью startProgress().
См. также:
| public static void updateProgress ( $done, $total, $prefix = null ) | ||
|---|---|---|
| $done | целое |
Количество завершённых элементов. |
| $total | целое |
Общее количество элементов, которые нужно обработать. |
| $prefix | строка |
Дополнительная строка, отображаемая перед полоской прогресса. По умолчанию равно null, что означает, что будет использован префикс, указанный в startProgress(). Если префикс задан, он будет обновлён для последующих вызовов. |
wrapText() public static метод (доступен с версии 2.0.4)
Обрезка текста с отступом для адаптации к ширине экрана
Если размер экрана не может быть определён, или отступ больше размера экрана, текст не будет обрезаться.
Первая строка не будет иметь отступ, поэтому Console::wrapText("Lorem ipsum dolor sit amet.", 4) приведёт к следующему выводу, при ширине экрана 16 символов:
Lorem ipsum
dolor sit
amet.
| public static строка wrapText ( $text, $indent = 0, $refresh = false ) | ||
|---|---|---|
| $text | строка |
Текст, который нужно обрезать |
| $indent | целое |
Количество пробелов для отступа. |
| $refresh | булево |
Необходимо ли принудительно обновить размер экрана. Будет передано в getScreenSize(). |
| return | строка |
Обрезанный текст. |
xtermBgColor() public static метод
Возвращает код ANSI для цвета фона xterm.
Вы можете передать возвращённое значение этому методу для форматирования: ansiFormat(), ansiFormatCode(), beginAnsiFormat()
См. также http://en.wikipedia.org/wiki/Talk:ANSI_escape_code#xterm-256colors.
| public static строка xtermBgColor ( $colorCode ) | ||
|---|---|---|
| $colorCode | целое |
Код цвета xterm |
xtermFgColor() public static метод
Возвращает код ANSI для цвета переднего плана xterm.
Вы можете передать возвращённое значение этому методу для форматирования: ansiFormat(), ansiFormatCode(), beginAnsiFormat()
См. также http://en.wikipedia.org/wiki/Talk:ANSI_escape_code#xterm-256colors.
| public static строка xtermFgColor ( $colorCode ) | ||
|---|---|---|
| $colorCode | целое |
Код цвета xterm |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-helpers-baseconsole.html