Класс yii\console\Application
| Наследование | yii\console\Application » yii\base\Application » yii\base\Module » yii\di\ServiceLocator » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/console/Application.php |
Application представляет консольное приложение.
Приложение расширяет yii\base\Application, предоставляя функциональность, специфичную для консольных запросов. В частности, оно обрабатывает консольные запросы с помощью подхода на основе команд:
- Консольное приложение состоит из одной или нескольких возможных команд пользователя;
- Каждая команда пользователя реализуется как класс, расширяющий yii\console\Controller;
- Пользователь указывает, какую команду запустить в командной строке;
- Команда обрабатывает запрос пользователя с указанными параметрами.
Классы команд должны находиться в пространстве имен, указанном в $controllerNamespace. Их именование должно соответствовать той же схеме именования, что и контроллеры. Например, команда help реализуется с помощью класса HelpController.
Для запуска консольного приложения введите следующее в командной строке:
yii <route> [--param1=value1 --param2 ...]
где <route> относится к маршруту контроллера в формате ModuleID/ControllerID/ActionID (например, sitemap/create), а param1, param2 относятся к набору именованных параметров, которые будут использоваться для инициализации действия контроллера (например, --since=0 задаёт параметр since, значение которого 0, и соответствующий параметр $since передаётся методу действия).
По умолчанию предоставляется команда help, которая отображает доступные команды и их использование. Чтобы использовать эту команду, просто введите:
yii help
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $aliases | массив | Список псевдонимов путей для определения. | yii\base\Module |
| $assetManager | yii\web\AssetManager | Компонент приложения для управления активами. | yii\base\Application |
| $authManager | yii\rbac\ManagerInterface | Компонент приложения для управления авторизацией. | yii\base\Application |
| $basePath | строка | Корневой каталог модуля. | yii\base\Module |
| $behaviors | yii\base\Behavior[] | Список поведений, присоединенных к этому компоненту | yii\base\Component |
| $bootstrap | массив | Список компонентов, которые должны быть запущены во время процесса инициализации приложения. | yii\base\Application |
| $cache | yii\caching\CacheInterface | Компонент приложения для кеширования. | yii\base\Application |
| $charset | строка | Кодировка символов, используемая в приложении. | yii\base\Application |
| $components | массив | Список определений компонентов или загруженных экземпляров компонентов (ID => определение или экземпляр). | yii\di\ServiceLocator |
| $container | массив | Значения в виде пар имя-значение. | yii\base\Application |
| $controller | yii\console\Controller | Текущий активный экземпляр контроллера. | yii\console\Application |
| $controllerMap | массив | Сопоставление идентификатора контроллера с конфигурациями контроллера. | yii\base\Module |
| $controllerNamespace | строка | Имя пространства, в котором находятся классы контроллеров. | yii\base\Application |
| $controllerPath | строка | Каталог, содержащий классы контроллеров. | yii\base\Module |
| $db | yii\db\Connection | Подключение к базе данных. | yii\base\Application |
| $defaultRoute | строка | По умолчанию маршрут этого приложения. | yii\console\Application |
| $enableCoreCommands | логическое | Включить команды, предоставленные основной частью фреймворка. | yii\console\Application |
| $errorHandler | yii\console\ErrorHandler | Компонент приложения для обработки ошибок. | yii\console\Application |
| $extensions | массив | Список установленных расширений Yii. | yii\base\Application |
| $formatter | yii\i18n\Formatter | Компонент приложения для форматирования. | yii\base\Application |
| $i18n | yii\i18n\I18N | Компонент приложения для международной поддержки. | yii\base\Application |
| $id | строка | Идентификатор, уникально определяющий этот модуль среди других модулей, у которых есть тот же родитель. | yii\base\Module |
| $language | строка | Язык, который должен использоваться для конечных пользователей. | yii\base\Application |
| $layout | строка|логическое | Макет, который должен быть применен для представлений в этом приложении. | yii\base\Application |
| $layoutPath | строка | Корневой каталог файлов макета. | yii\base\Module |
| $loadedModules | массив | Список загруженных модулей, индексированных по их именам классов. | yii\base\Application |
| $log | yii\log\Dispatcher | Компонент приложения для обработки логов. | yii\base\Application |
| $mailer | yii\mail\MailerInterface | Компонент приложения для отправки почты. | yii\base\Application |
| $module | yii\base\Module | Родительский модуль этого модуля. | yii\base\Module |
| $modules | массив | Модули (индексированные по их идентификаторам). | yii\base\Module |
| $name | строка | Название приложения. | yii\base\Application |
| $params | массив | Настраиваемые параметры модуля (имя => значение). | yii\base\Module |
| $request | yii\console\Request | Компонент запроса. | yii\console\Application |
| $requestedAction | yii\base\Action | Запрашиваемое действие. | yii\base\Application |
| $requestedParams | массив | Параметры, переданные запрашиваемому действию. | yii\base\Application |
| $requestedRoute | строка | Запрашиваемый маршрут. | yii\base\Application |
| $response | yii\console\Response | Компонент ответа. | yii\console\Application |
| $runtimePath | строка | Каталог для хранения временных файлов. | yii\base\Application |
| $security | yii\base\Security | Компонент приложения для безопасности. | yii\base\Application |
| $sourceLanguage | строка | Язык, на котором написано приложение. | yii\base\Application |
| $state | целое число | Текущее состояние приложения во время обработки запроса. | yii\base\Application |
| $timeZone | строка | Часовой пояс, используемый этим приложением. | yii\base\Application |
| $uniqueId | строка | Уникальный идентификатор модуля. | yii\base\Application |
| $urlManager | yii\web\UrlManager | Управляющий компонент URL для этого приложения. | yii\base\Application |
| $vendorPath | строка | Директория, в которой хранятся файлы поставщиков. | yii\base\Application |
| $version | строка | Версия этого модуля. | yii\base\Module |
| $view | yii\base\View|yii\web\View | Компонент приложения для отображения, используемый для рендеринга различных файлов представления. | yii\base\Application |
| $viewPath | строка | Основной каталог файлов представления. | yii\base\Module |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\console\Application |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| afterAction() | Этот метод вызывается сразу после выполнения действия в пределах данного модуля. | yii\base\Module |
| attachBehavior() | Прикрепляет поведение к данному компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| beforeAction() | Этот метод вызывается сразу перед выполнением действия в пределах данного модуля. | yii\base\Module |
| behaviors() | Возвращает список поведений, по которым данный компонент должен вести себя. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, может ли свойство быть считано. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, может ли свойство быть установлено. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| clear() | Удаляет компонент из локетора. | yii\di\ServiceLocator |
| coreCommands() | Возвращает конфигурацию встроенных команд. | yii\console\Application |
| coreComponents() | Возвращает конфигурацию основных компонентов приложения. | yii\console\Application |
| createController() | Создаёт экземпляр контроллера на основе заданного маршрута. | yii\base\Module |
| createControllerByID() | Создаёт контроллер на основе заданного идентификатора контроллера. | yii\base\Module |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| end() | Завершает работу приложения. | yii\base\Application |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| get() | Возвращает экземпляр компонента с указанным идентификатором. | yii\di\ServiceLocator |
| getAssetManager() | Возвращает менеджер активов. | yii\base\Application |
| getAuthManager() | Возвращает менеджер авторизации для этого приложения. | yii\base\Application |
| getBasePath() | Возвращает корневой каталог модуля. | yii\base\Module |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все присоединённые к данному компоненту поведения. | yii\base\Component |
| getCache() | Возвращает компонент кэша. | yii\base\Application |
| getComponents() | Возвращает список определений компонентов или загруженных экземпляров компонентов. | yii\di\ServiceLocator |
| getControllerPath() | Возвращает каталог, содержащий классы контроллеров в соответствии с $controllerNamespace. | yii\base\Module |
| getDb() | Возвращает компонент подключения к базе данных. | yii\base\Application |
| getErrorHandler() | Возвращает компонент обработчика ошибок. | yii\console\Application |
| getFormatter() | Возвращает компонент форматировщика. | yii\base\Application |
| getI18n() | Возвращает компонент интернационализации (i18n) | yii\base\Application |
| getInstance() | Возвращает текущий запрашиваемый экземпляр этого класса модуля. | yii\base\Module |
| getLayoutPath() | Возвращает каталог, содержащий файлы шаблонов макета для данного модуля. | yii\base\Module |
| getLog() | Возвращает компонент диспетчера логов. | yii\base\Application |
| getMailer() | Возвращает компонент почтовой рассылки. | yii\base\Application |
| getModule() | Извлекает дочерний модуль с указанным идентификатором. | yii\base\Module |
| getModules() | Возвращает подмодули в этом модуле. | yii\base\Module |
| getRequest() | Возвращает компонент запроса. | yii\console\Application |
| getResponse() | Возвращает компонент ответа. | yii\console\Application |
| getRuntimePath() | Возвращает каталог, в котором хранятся файлы выполнения. | yii\base\Application |
| getSecurity() | Возвращает компонент безопасности. | yii\base\Application |
| getTimeZone() | Возвращает часовой пояс, используемый этим приложением. | yii\base\Application |
| getUniqueId() | Возвращает идентификатор, уникально идентифицирующий этот модуль среди всех модулей в текущем приложении. | yii\base\Application |
| getUrlManager() | Возвращает менеджер URL для этого приложения. | yii\base\Application |
| getVendorPath() | Возвращает каталог, в котором хранятся файлы поставщиков. | yii\base\Application |
| getVersion() | Возвращает текущую версию модуля. | yii\base\Module |
| getView() | Возвращает объект представления. | yii\base\Application |
| getViewPath() | Возвращает директорию, содержащую файлы представлений для данного модуля. | yii\base\Module |
| handleRequest() | Обрабатывает указанный запрос. | yii\console\Application |
| has() | Возвращает значение, указывающее, есть ли у локализатора заданное определение компонента или был ли компонент создан. | yii\di\ServiceLocator |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчики события для данного имени. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasModule() | Проверяет, существует ли дочерний модуль с указанным идентификатором. | yii\base\Module |
| hasProperty() | Возвращает значение, указывающее, определён ли свойство. | yii\base\Object |
| init() | Инициализирует приложение. | yii\console\Application |
| off() | Отсоединяет существующий обработчик события от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик события к событию. | yii\base\Component |
| preInit() | Предварительно инициализирует приложение. | yii\base\Application |
| run() | Запускает приложение. | yii\base\Application |
| runAction() | Запускает действие контроллера, указанное маршрутом. | yii\console\Application |
| set() | Регистрирует определение компонента в данном локаторе. | yii\di\ServiceLocator |
| setAliases() | Определяет псевдонимы путей. | yii\base\Module |
| setBasePath() | Устанавливает корневую директорию приложения и псевдоним @app. | yii\base\Application |
| setComponents() | Регистрирует набор определений компонентов в данном локаторе. | yii\di\ServiceLocator |
| setContainer() | Настраивает Yii::$container с помощью $config | yii\base\Application |
| setInstance() | Устанавливает текущую запрашиваемую инстанцию этого класса модуля. | yii\base\Module |
| setLayoutPath() | Устанавливает директорию, содержащую файлы макетов. | yii\base\Module |
| setModule() | Добавляет подмодуль к данному модулю. | yii\base\Module |
| setModules() | Регистрирует подмодули в текущем модуле. | yii\base\Module |
| setRuntimePath() | Устанавливает директорию для хранения файлов выполнения. | yii\base\Application |
| setTimeZone() | Устанавливает часовой пояс, используемый этим приложением. | yii\base\Application |
| setVendorPath() | Устанавливает директорию для хранения файлов vendor. | yii\base\Application |
| setVersion() | Устанавливает текущую версию модуля. | yii\base\Module |
| setViewPath() | Устанавливает директорию, содержащую файлы представлений. | yii\base\Module |
| trigger() | Вызывает событие. | yii\base\Component |
Защищённые методы
| Метод | Описание | Определён в |
|---|---|---|
| bootstrap() | Инициализирует расширения и выполняет bootstrap компоненты. | yii\base\Application |
| defaultVersion() | Возвращает значение по умолчанию для версии модуля. | yii\base\Module |
| loadConfig() | Загружает конфигурацию. | yii\console\Application |
| registerErrorHandler() | Регистрирует компонент errorHandler как обработчик ошибок PHP. | yii\base\Application |
События
| Событие | Тип | Описание | Определён в |
|---|---|---|---|
| EVENT_AFTER_ACTION | yii\base\ActionEvent | Событие, возникающее после выполнения действия контроллера. | yii\base\Module |
| EVENT_AFTER_REQUEST | yii\base\Event | Событие, возникающее после успешной обработки запроса приложением (перед отправкой ответа). | yii\base\Application |
| EVENT_BEFORE_ACTION | yii\base\ActionEvent | Событие, возникающее перед выполнением действия контроллера. | yii\base\Module |
| EVENT_BEFORE_REQUEST | yii\base\Event | Событие, возникающее перед тем, как приложение начнёт обработку запроса. | yii\base\Application |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| OPTION_APPCONFIG | 'appconfig' | Имя опции для указания пути к файлу конфигурации приложения. | yii\console\Application |
| STATE_AFTER_REQUEST | 4 | Состояние приложения, используемое в $state: приложение запускает EVENT_AFTER_REQUEST. | yii\base\Application |
| STATE_BEFORE_REQUEST | 2 | Состояние приложения, используемое в $state: приложение запускает EVENT_BEFORE_REQUEST. | yii\base\Application |
| STATE_BEGIN | 0 | Состояние приложения, используемое в $state: приложение только что запущено. | yii\base\Application |
| STATE_END | 6 | Состояние приложения, используемое в $state: приложение завершилось. | yii\base\Application |
| STATE_HANDLING_REQUEST | 3 | Состояние приложения, используемое в $state: приложение обрабатывает запрос. | yii\base\Application |
| STATE_INIT | 1 | Состояние приложения, используемое в $state: приложение инициализируется. | yii\base\Application |
| STATE_SENDING_RESPONSE | 5 | Состояние приложения, используемое в $state: приложение готовится отправить ответ. | yii\base\Application |
Подробное описание свойств
$controller общедоступное свойство
Текущий активный экземпляр контроллера
public yii\console\Controller $controller = null
$defaultRoute общедоступное свойство
Стандартный маршрут этого приложения. По умолчанию равен 'help', означая команду help.
public string $defaultRoute = 'help'
$enableCoreCommands общедоступное свойство
Включить ли команды, предоставляемые основной частью фреймворка. По умолчанию true.
public boolean $enableCoreCommands = true
$errorHandler общедоступное только для чтения свойство
Компонент обработки ошибок приложения.
public yii\console\ErrorHandler getErrorHandler ( )
$request общедоступное только для чтения свойство
Компонент запроса.
public yii\console\Request getRequest ( )
$response общедоступное только для чтения свойство
Компонент ответа.
public yii\console\Response getResponse ( )
Подробное описание методов
__construct() общедоступный метод
Конструктор.
| public void __construct ( $config = [] ) | ||
|---|---|---|
| $config | array |
Пара имя-значение, которые будут использоваться для инициализации свойств объекта. Обратите внимание, что конфигурация должна содержать как $id, так и $basePath. |
| throws | yii\base\InvalidConfigException | |
coreCommands() общедоступный метод
Возвращает конфигурацию встроенных команд.
| public array coreCommands ( ) | ||
|---|---|---|
| return | array |
Конфигурация встроенных команд. |
coreComponents() общедоступный метод
Возвращает конфигурацию основных компонентов приложения.
| public void coreComponents ( ) |
|---|
getErrorHandler() общедоступный метод
Возвращает компонент обработки ошибок.
| public yii\console\ErrorHandler getErrorHandler ( ) | ||
|---|---|---|
| return | yii\console\ErrorHandler |
Компонент обработки ошибок приложения. |
getRequest() общедоступный метод
Возвращает компонент запроса.
| public yii\console\Request getRequest ( ) | ||
|---|---|---|
| return | yii\console\Request |
Компонент запроса. |
getResponse() общедоступный метод
Возвращает компонент ответа.
| public yii\console\Response getResponse ( ) | ||
|---|---|---|
| return | yii\console\Response |
Компонент ответа. |
handleRequest() общедоступный метод
Обрабатывает указанный запрос.
| public yii\console\Response handleRequest ( $request ) | ||
|---|---|---|
| $request | yii\console\Request |
Запрос, который нужно обработать |
| return | yii\console\Response |
Результирующий ответ |
init() общедоступный метод
Инициализация приложения.
| public void init ( ) |
|---|
loadConfig() защищённый метод
Загрузка конфигурации.
Этот метод проверяет, указана ли опция командной строки OPTION_APPCONFIG. Если да, соответствующий файл будет загружен в качестве конфигурации приложения. В противном случае, конфигурация, переданная в качестве параметра, будет возвращена обратно.
| protected array loadConfig ( $config ) | ||
|---|---|---|
| $config | array |
Конфигурация, переданная в конструкторе. |
| return | array |
Фактическая конфигурация, которая будет использоваться приложением. |
runAction() общедоступный метод
Выполняет действие контроллера, указанное маршрутом.
Этот метод анализирует указанный маршрут и создает соответствующие дочерние модули(ы), контроллер и экземпляры действий. Затем он вызывает yii\console\Controller::runAction() для выполнения действия с заданными параметрами. Если маршрут пустой, метод будет использовать $defaultRoute.
Например, чтобы выполнить public function actionTest($a, $b) предполагая, что контроллер имеет опции, необходимо использовать следующий код:
\Yii::$app->runAction('controller/test', ['option' => 'value', $a, $b]);
| public integer|yii\console\Response runAction ( $route, $params = [] ) | ||
|---|---|---|
| $route | string |
Маршрут, определяющий действие. |
| $params | array |
Параметры, которые нужно передать в действие |
| return | integer|yii\console\Response |
Результат действия. Это может быть код завершения или объект Response. Код завершения 0 означает нормальный, а другие значения - аномальный. Код завершения |
| throws | yii\console\Exception |
если маршрут некорректен |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-console-application.html