Spec-Zone.ru › Yii 2.0

Класс 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

если отсутствует либо $id, либо $basePath конфигурации.

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 означает нормальный, а другие значения - аномальный. Код завершения null также обрабатывается как 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API