Класс yii\console\Controller
Controller — базовый класс для команд консоли.
Контроллер консоли состоит из одного или нескольких действий, известных как подкоманды. Пользователи вызывают команду консоли, указав соответствующий маршрут, который идентифицирует действие контроллера. Программа yii используется при вызове команды консоли, как в следующем примере:
yii <route> [--param1=value1 --param2 ...]
где <route> — маршрут к действию контроллера, а параметры будут заполнены как свойства команды. Подробности см. в options().
Открытые свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $action | yii\base\Action | Действие, которое выполняется в данный момент. | yii\base\Controller |
| $behaviors | yii\base\Behavior[] | Список поведений, присоединённых к этому компоненту | yii\base\Component |
| $color | boolean | Включить ANSI цвет в выводе. | yii\console\Controller |
| $defaultAction | string | Идентификатор действия, используемого, когда идентификатор действия не указан в запросе. | yii\base\Controller |
| $help | boolean | Отображать ли справку о текущей команде. | yii\console\Controller |
| $helpSummary | string | yii\console\Controller | |
| $id | string | Идентификатор этого контроллера. | yii\base\Controller |
| $interactive | boolean | Выполнять команду в интерактивном режиме. | yii\console\Controller |
| $layout | null|string|false | Имя макета, применяемого к представлениям этого контроллера. | yii\base\Controller |
| $module | yii\base\Module | Модуль, к которому принадлежит этот контроллер. | yii\base\Controller |
| $modules | yii\base\Module[] | Все родительские модули, в которых находится этот контроллер. | yii\base\Controller |
| $passedOptionValues | array | Свойства, соответствующие переданным параметрам | yii\console\Controller |
| $passedOptions | array | Имена параметров, переданных во время выполнения | yii\console\Controller |
| $route | string | Маршрут (ID модуля, ID контроллера и ID действия) текущего запроса. | yii\base\Controller |
| $uniqueId | string | ID контроллера, префикс которого — ID модуля (если есть). | yii\base\Controller |
| $view | yii\base\View|yii\web\View | Объект представления, который может быть использован для отрисовки представлений или файлов представлений. | yii\base\Controller |
| $viewPath | string | Директория, содержащая файлы представлений для этого контроллера. | yii\base\Controller |
Открытые методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | yii\base\Controller | |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в значение null. | yii\base\Object |
| actions() | Объявляет внешние действия для контроллера. | yii\base\Controller |
| afterAction() | Этот метод вызывается сразу после выполнения действия. | yii\base\Controller |
| ansiFormat() | Форматирует строку с кодами ANSI. | yii\console\Controller |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| beforeAction() | Этот метод вызывается непосредственно перед выполнением действия. | yii\base\Controller |
| behaviors() | Возвращает список поведений, которые должен иметь этот компонент. | yii\base\Component |
| bindActionParams() | Связывает параметры с действием. | yii\console\Controller |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| confirm() | Запрашивает у пользователя подтверждение, введя y или n. | yii\console\Controller |
| createAction() | Создает действие на основе заданного идентификатора действия. | yii\base\Controller |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| findLayoutFile() | Находит соответствующий файл макета. | yii\base\Controller |
| getActionArgsHelp() | Возвращает справочную информацию по анонимным аргументам для действия. | yii\console\Controller |
| getActionHelp() | Возвращает подробную справочную информацию для указанного действия. | yii\console\Controller |
| getActionHelpSummary() | Возвращает краткое описание указанного действия в одной строке. | yii\console\Controller |
| getActionOptionsHelp() | Возвращает справочную информацию по опциям для действия. | yii\console\Controller |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все присоединенные к этому компоненту поведения. | yii\base\Component |
| getHelp() | Возвращает справочную информацию для этого контроллера. | yii\console\Controller |
| getHelpSummary() | Возвращает краткое описание этого контроллера в одной строке. | yii\console\Controller |
| getModules() | Возвращает все родительские модули этого контроллера. | yii\base\Controller |
| getOptionValues() | Возвращает свойства, соответствующие опциям для идентификатора действия. Дочерние классы могут переопределять этот метод для указания возможных свойств. | yii\console\Controller |
| getPassedOptionValues() | Возвращает свойства, соответствующие переданным опциям. | yii\console\Controller |
| getPassedOptions() | Возвращает имена допустимых опций, переданных во время выполнения. | yii\console\Controller |
| getRoute() | Возвращает маршрут текущего запроса. | yii\base\Controller |
| getUniqueId() | Возвращает уникальный идентификатор контроллера. | yii\base\Controller |
| getView() | Возвращает объект представления, который можно использовать для отображения представлений или файлов представлений. | yii\base\Controller |
| getViewPath() | Возвращает каталог, содержащий файлы представлений для этого контроллера. | yii\base\Controller |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| isColorEnabled() | Возвращает значение, указывающее, включен ли цвет ANSI. | yii\console\Controller |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| optionAliases() | Возвращает псевдонимы опций. | yii\console\Controller |
| options() | Возвращает имена допустимых опций для действия (id). Опция требует существования публичной переменной члена, имя которой совпадает с именем опции. | yii\console\Controller |
| prompt() | Запрашивает у пользователя ввод и проверяет его. | yii\console\Controller |
| render() | Отображает представление и применяет макет, если он доступен. | yii\base\Controller |
| renderContent() | Отображает статическую строку, применяя макет. | yii\base\Controller |
| renderFile() | Отображает файл представления. | yii\base\Controller |
| renderPartial() | Отображает представление без применения макета. | yii\base\Controller |
| run() | Выполняет запрос, заданный в виде маршрута. | yii\base\Controller |
| runAction() | Выполняет действие с указанным идентификатором действия и параметрами. | yii\console\Controller |
| select() | Предлагает пользователю выбор из вариантов. Ввод '?' покажет список вариантов и их описаний. | yii\console\Controller |
| setView() | Устанавливает объект представления, который будет использоваться данным контроллером. | yii\base\Controller |
| setViewPath() | Устанавливает директорию, содержащую файлы представлений. | yii\base\Controller |
| stderr() | Выводит строку в STDERR | yii\console\Controller |
| stdout() | Выводит строку в STDOUT | yii\console\Controller |
| trigger() | Вызывает событие. | yii\base\Component |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| getActionMethodReflection() | yii\console\Controller | |
| parseDocCommentDetail() | Возвращает полное описание из блока документации. | yii\console\Controller |
| parseDocCommentSummary() | Возвращает первую строку блока документации. | yii\console\Controller |
| parseDocCommentTags() | Парсит блок комментариев на метки. | yii\console\Controller |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_ACTION | yii\base\ActionEvent | Событие, срабатывающее сразу после выполнения действия контроллера. | yii\base\Controller |
| EVENT_BEFORE_ACTION | yii\base\ActionEvent | Событие, срабатывающее непосредственно перед выполнением действия контроллера. | yii\base\Controller |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| EXIT_CODE_ERROR | 1 | yii\console\Controller | |
| EXIT_CODE_NORMAL | 0 | yii\console\Controller |
Подробное описание свойств
$color общедоступное свойство
Включить цвет ANSI в выводе. Если не задано, цвет ANSI будет включен только для терминалов, которые его поддерживают.
public boolean $color = null
$help общедоступное только для чтения свойство (доступно начиная с версии 2.0.10)
Отображать ли информацию о помощи для текущей команды.
public string getHelp ( )
$helpSummary общедоступное только для чтения свойство
public string getHelpSummary ( )
$interactive общедоступное свойство
Выполнять команду в интерактивном режиме.
public boolean $interactive = true
$passedOptionValues общедоступное только для чтения свойство
Свойства, соответствующие переданным параметрам.
public array getPassedOptionValues ( )
$passedOptions общедоступное только для чтения свойство
Имена параметров, переданных во время выполнения.
public array getPassedOptions ( )
Подробное описание методов
ansiFormat() public method
Форматирует строку с кодами ANSI
Вы можете передать дополнительные параметры, используя константы, определённые в yii\helpers\Console.
Пример:
echo $this->ansiFormat('This will be red and underlined.', Console::FG_RED, Console::UNDERLINE);
| public string ansiFormat ( $string ) | ||
|---|---|---|
| $string | string |
Строка, подлежащая форматированию |
bindActionParams() public method
Связывает параметры с действием.
Этот метод вызывается классом yii\base\Action при его запуске с заданными параметрами. Сначала метод связывает параметры с доступными опциями для действия. Затем он проверяет переданные аргументы.
| public array bindActionParams ( $action, $params ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие, к которому будут привязаны параметры |
| $params | array |
Параметры, подлежащие привязке к действию |
| return | array |
Допустимые параметры, с которыми действие может быть выполнено. |
| throws | yii\console\Exception |
если имеются неизвестные опции или недостающие аргументы |
confirm() public method
Запрашивает подтверждение у пользователя, введя y или n.
Типичное использование выглядит следующим образом:
if ($this->confirm("Are you sure?")) {
echo "user typed yes\n";
} else {
echo "user typed no\n";
}
| public boolean confirm ( $message, $default = false ) | ||
|---|---|---|
| $message | string |
Выводится перед ожиданием ввода от пользователя |
| $default | boolean |
Это значение возвращается, если выбор не сделан. |
| return | boolean |
Подтвердил ли пользователь. Вернёт true, если $interactive ложно. |
getActionArgsHelp() public method
Возвращает справочную информацию по анонимным аргументам для действия.
Возвращаемое значение должно быть массивом. Ключи — имена аргументов, значения — соответствующая справочная информация. Каждое значение должно быть массивом следующей структуры:
- required: boolean, обязателен ли этот аргумент.
- type: string, тип PHP этого аргумента.
- default: string, значение по умолчанию этого аргумента
- comment: string, комментарий к этому аргументу
Реализация по умолчанию возвращает справочную информацию, извлечённую из комментария к методу документации параметров, соответствующих методу действия.
| public array getActionArgsHelp ( $action ) | ||
|---|---|---|
| $action | yii\base\Action | |
| return | array |
Справочная информация о параметрах действия |
getActionHelp() public method
Возвращает подробную справочную информацию для указанного действия.
| public string getActionHelp ( $action ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие, для которого нужно получить справку |
| return | string |
Подробная справочная информация для указанного действия. |
getActionHelpSummary() public method
Возвращает краткое описание указанного действия в одной строке.
| public string getActionHelpSummary ( $action ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие, для которого нужно получить краткое описание |
| return | string |
Краткое описание указанного действия в одной строке. |
getActionMethodReflection() protected method
| protected ReflectionMethod getActionMethodReflection ( $action ) | ||
|---|---|---|
| $action | yii\base\Action | |
getActionOptionsHelp() public method
Возвращает справочную информацию по опциям действия.
Возвращаемое значение должно быть массивом. Ключи — имена опций, значения — соответствующая справочная информация. Каждое значение должно быть массивом следующей структуры:
- type: string, тип PHP этого аргумента.
- default: string, значение по умолчанию этого аргумента
- comment: string, комментарий к этому аргументу
Реализация по умолчанию возвращает справочную информацию, извлечённую из комментария к свойствам, соответствующим опциям действия.
| public array getActionOptionsHelp ( $action ) | ||
|---|---|---|
| $action | yii\base\Action | |
| return | array |
Справочная информация об опциях действия |
getHelp() public method
Возвращает справочную информацию по контроллеру.
Вы можете переопределить этот метод, чтобы вернуть настраиваемую справку. Реализация по умолчанию возвращает справочную информацию, полученную из PHPDoc комментария.
| public string getHelp ( ) |
|---|
getHelpSummary() public method
Возвращает краткое описание контроллера в одной строке.
Вы можете переопределить этот метод, чтобы вернуть настраиваемое краткое описание. Реализация по умолчанию возвращает первую строку из PHPDoc комментария.
| public string getHelpSummary ( ) |
|---|
getOptionValues() public method
Возвращает свойства, соответствующие опциям для действия id. Дочерние классы могут переопределить этот метод, чтобы указать возможные свойства.
| public array getOptionValues ( $actionID ) | ||
|---|---|---|
| $actionID | string |
Идентификатор действия текущего запроса |
| return | array |
Свойства, соответствующие опциям для действия |
getPassedOptionValues() public method
Возвращает свойства, соответствующие переданным опциям
| public array getPassedOptionValues ( ) | ||
|---|---|---|
| return | array |
Свойства, соответствующие переданным опциям |
getPassedOptions() public method
Возвращает имена допустимых опций, переданных во время выполнения.
| public array getPassedOptions ( ) | ||
|---|---|---|
| return | array |
Имена переданных опций во время выполнения |
isColorEnabled() public method
Возвращает значение, указывающее, включен ли цвет ANSI.
Цвет ANSI включён только если $color установлено в true или не установлено, и терминал поддерживает цвет ANSI.
| public boolean isColorEnabled ( $stream = \STDOUT ) | ||
|---|---|---|
| $stream | resource |
Поток для проверки. |
| return | boolean |
Включить ли ANSI-стиль в выводе. |
optionAliases() public method (доступно начиная с версии 2.0.8)
Возвращает псевдонимы опций.
Дочерние классы могут переопределить этот метод, чтобы указать псевдонимы опций.
См. также options().
| общедоступный массив optionAliases ( ) | ||
|---|---|---|
| возвращает | массив |
Псевдонимы опций, допустимые для действия, где ключ — это псевдоним опции, а значение — имя опции. |
options() общедоступный метод
Возвращает имена допустимых опций для действия (id). Опция требует наличия открытого переменной члена, имя которого соответствует имени опции.
Подклассы могут переопределять этот метод для указания возможных опций.
Обратите внимание, что значения, заданные через опции, недоступны до вызова beforeAction().
| общедоступный строка[] options ( $actionID ) | ||
|---|---|---|
| $actionID | строка |
Идентификатор действия текущего запроса |
| возвращает | строка[] |
Имена опций, допустимых для действия |
parseDocCommentDetail() защищённый метод
Возвращает полное описание из блока документации.
| защищённый строка parseDocCommentDetail ( $reflection ) | ||
|---|---|---|
| $reflection | Reflector | |
parseDocCommentSummary() защищённый метод
Возвращает первую строку блока документации.
| защищённый строка parseDocCommentSummary ( $reflection ) | ||
|---|---|---|
| $reflection | Reflector | |
parseDocCommentTags() защищённый метод
Парсит блок комментариев на теги.
| защищённый массив parseDocCommentTags ( $reflection ) | ||
|---|---|---|
| $reflection | Reflector |
Блок комментариев |
| возвращает | массив |
Парсированные теги |
prompt() общедоступный метод
Запрашивает у пользователя ввод и проверяет его
| общедоступный строка prompt ( $text, $options = [] ) | ||
|---|---|---|
| $text | строка |
Строка запроса |
| $options | массив |
Опции для проверки ввода:
Пример использования метода prompt с функцией проверки. $code = $this->prompt('Enter 4-Chars-Pin', ['required' => true, 'validator' => function($input, &$error) {
if (strlen($input) !== 4) {
$error = 'The Pin must be exactly 4 chars!';
return false;
}
return true;
}]);
|
| возвращает | строка |
Ввод пользователя |
runAction() общедоступный метод
Выполняет действие с указанным идентификатором действия и параметрами.
Если идентификатор действия пустой, метод будет использовать $defaultAction.
См. также createAction().
| общедоступный целое число runAction ( $id, $params = [] ) | ||
|---|---|---|
| $id | строка |
Идентификатор действия, которое нужно выполнить. |
| $params | массив |
Параметры (имя-значение) для передачи действию. |
| возвращает | целое число |
Статус выполнения действия. 0 — нормальный, другие значения — аномальный. |
| бросает | yii\base\InvalidRouteException |
если запрашиваемый идентификатор действия не может быть успешно разрешен в действие. |
| бросает | yii\console\Exception |
если имеются неизвестные опции или недостающие аргументы |
select() общедоступный метод
Даёт пользователю возможность выбора из предложенных вариантов. Ввод '?' отобразит список доступных опций и их описаний.
| общедоступный строка select ( $prompt, $options = [] ) | ||
|---|---|---|
| $prompt | строка |
Сообщение запроса |
| $options | массив |
Массив ключ-значение доступных вариантов |
| возвращает | строка |
Символ выбранной опции |
stderr() общедоступный метод
Выводит строку в STDERR
Вы можете дополнительно форматировать строку с помощью ANSI-кодов, передав дополнительные параметры, используя константы, определенные в yii\helpers\Console.
Пример:
$this->stderr('This will be red and underlined.', Console::FG_RED, Console::UNDERLINE);
| общедоступный целое число|булево значение stderr ( $string ) | ||
|---|---|---|
| $string | строка |
Строка для вывода |
| возвращает | целое число|булево значение |
Количество выведенных байт или false при ошибке |
stdout() общедоступный метод
Выводит строку в STDOUT
Вы можете дополнительно форматировать строку с помощью ANSI-кодов, передав дополнительные параметры, используя константы, определенные в yii\helpers\Console.
Пример:
$this->stdout('This will be red and underlined.', Console::FG_RED, Console::UNDERLINE);
| общедоступный целое число|булево значение stdout ( $string ) | ||
|---|---|---|
| $string | строка |
Строка для вывода |
| возвращает | целое число|булево значение |
Количество выведенных байт или false при ошибке |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-console-controller.html