Spec-Zone.ru › Yii 1.1

CConsoleApplication

Пакет system.console
Наследование класс CConsoleApplication » CApplication » CModule » CComponent
С момента 1.0
Исходный код framework/console/CConsoleApplication.php
CConsoleApplication представляет консольное приложение.

CConsoleApplication расширяет CApplication, предоставляя функциональность, специфичную для консольных запросов. В частности, он обрабатывает консольные запросы с помощью подхода, основанного на командах:
  • Консольное приложение состоит из одной или нескольких возможных команд пользователя;
  • Каждая команда пользователя реализуется как класс, расширяющий CConsoleCommand;
  • Пользователь указывает, какую команду выполнить в командной строке;
  • Команда обрабатывает запрос пользователя с указанными параметрами.


Классы команд находятся в каталоге commandPath. Имя класса следует шаблону: <имя-команды>Command, а имя файла совпадает с именем класса. Например, класс 'ShellCommand' определяет команду 'shell', а имя файла класса — 'ShellCommand.php'.

Для запуска консольного приложения введите следующее в командной строке:
php path/to/entry_script.php <command name> [param 1] [param 2] ...


Вы можете использовать следующее, чтобы увидеть инструкции по использованию команды:
php path/to/entry_script.php help <command name>

Свойства публичного доступа

Свойство Тип Описание Определено в
basePath строка Возвращает корневой путь приложения. CApplication
baseUrl строка Возвращает относительный URL приложения. CApplication
behaviors массив поведения, которые должны быть присоединены к модулю. CModule
cache CCache Возвращает компонент кэша. CApplication
charset строка кодировка, используемая в данный момент для приложения. CApplication
command CConsoleCommand|null Возвращает выполняемую в данный момент команду. CConsoleApplication
commandMap массив отображение имени команды на конфигурацию команды. CConsoleApplication
commandPath строка каталог, содержащий классы команд. CConsoleApplication
commandRunner CConsoleCommandRunner Возвращает обработчик команд. CConsoleApplication
components массив Возвращает компоненты приложения. CModule
controller CController текущий активный контроллер. CApplication
coreMessages CPhpMessageSource Возвращает компонент перевода сообщений ядра. CApplication
dateFormatter CDateFormatter Возвращает форматировщик дат, зависящий от локали. CApplication
db CDbConnection Возвращает компонент подключения к базе данных. CApplication
errorHandler CErrorHandler Возвращает компонент обработчика ошибок. CApplication
extensionPath строка Возвращает корневой каталог, содержащий все сторонние расширения. CApplication
format CFormatter Возвращает компонент форматирования. CApplication
homeUrl строка URL домашней страницы CApplication
id строка Возвращает уникальный идентификатор приложения. CApplication
language строка Возвращает язык, используемый пользователем, и к которому должно быть нацелено приложение. CApplication
locale CLocale Возвращает экземпляр локали. CApplication
localeClass строка класс, используемый для получения данных локали. CApplication
localeDataPath строка Возвращает каталог, содержащий данные локали. CApplication
messages CMessageSource Возвращает компонент перевода сообщений приложения. CApplication
modulePath строка Возвращает каталог, содержащий модули приложения. CModule
modules массив Возвращает конфигурацию установленных модулей. CModule
name строка имя приложения. CApplication
numberFormatter CNumberFormatter форматировщик чисел, зависящий от локали. CApplication
params CAttributeCollection Возвращает пользовательские параметры. CModule
parentModule CModule Возвращает родительский модуль. CModule
preload массив идентификаторы компонентов приложения, которые должны быть предварительно загружены. CModule
request CHttpRequest Возвращает компонент запроса. CApplication
runtimePath строка Возвращает каталог, в котором хранятся файлы runtime. CApplication
securityManager CSecurityManager Возвращает компонент управления безопасностью. CApplication
sourceLanguage строка язык, на котором написано приложение. CApplication
statePersister CStatePersister Возвращает компонент сохранения состояния. CApplication
timeZone строка Возвращает часовой пояс, используемый этим приложением. CApplication
urlManager CUrlManager Возвращает компонент менеджера URL. CApplication

Общедоступные методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. CComponent
__construct() Конструктор. CApplication
__get() Магический метод получения значения свойства. CModule
__isset() Проверяет, имеет ли свойство значение, отличное от null. CModule
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
asa() Возвращает объект поведения с указанным именем. CComponent
attachBehavior() Присоединяет поведение к компоненту. CComponent
attachBehaviors() Присоединяет список поведений к компоненту. CComponent
attachEventHandler() Присоединяет обработчик события к событию. CComponent
canGetProperty() Определяет, можно ли получить свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
clearGlobalState() Очищает глобальное значение. CApplication
configure() Настраивает модуль заданными настройками. CModule
createAbsoluteUrl() Создаёт абсолютный URL на основе заданной информации о контроллере и действии. CApplication
createUrl() Создаёт относительный URL на основе заданной информации о контроллере и действии. CApplication
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик события. CComponent
disableBehavior() Отключает присоединённое поведение. CComponent
disableBehaviors() Отключает все присоединённые поведения к данному компоненту. CComponent
displayError() Отображает полученную ошибку PHP. CConsoleApplication
displayException() Отображает неперехваченное исключение PHP. CConsoleApplication
enableBehavior() Включает присоединённое поведение. CComponent
enableBehaviors() Включает все присоединённые поведения к данному компоненту. CComponent
end() Завершает работу приложения. CApplication
evaluateExpression() Вычисляет PHP выражение или обратный вызов в контексте этого компонента. CComponent
findLocalizedFile() Возвращает локализованную версию указанного файла. CApplication
getBasePath() Возвращает корневой путь приложения. CApplication
getBaseUrl() Возвращает относительный URL для приложения. CApplication
getCache() Возвращает компонент кэша. CApplication
getCommand() Возвращает выполняемую в данный момент команду. CConsoleApplication
getCommandPath() Возвращает каталог, содержащий классы команд. По умолчанию 'protected/commands'. CConsoleApplication
getCommandRunner() Возвращает диспетчер команд. CConsoleApplication
getComponent() Возвращает именованный компонент приложения. CModule
getComponents() Возвращает компоненты приложения. CModule
getController() Возвращает текущий активный контроллер. В этом базовом классе возвращается null. CApplication
getCoreMessages() Возвращает компонент перевода основных сообщений. CApplication
getDateFormatter() Возвращает форматировщик даты, зависящий от локали. CApplication
getDb() Возвращает компонент подключения к базе данных. CApplication
getErrorHandler() Возвращает компонент обработчика ошибок. CApplication
getEventHandlers() Возвращает список присоединённых обработчиков событий для события. CComponent
getExtensionPath() Возвращает корневой каталог, содержащий все сторонние расширения. CApplication
getFormat() Возвращает компонент форматирования. CApplication
getGlobalState() Возвращает глобальное значение. CApplication
getHomeUrl() Возвращает URL главной страницы. CApplication
getId() Возвращает уникальный идентификатор приложения. CApplication
getLanguage() Возвращает язык, используемый пользователем, и к которому должно быть ориентировано приложение. CApplication
getLocale() Возвращает экземпляр локали. CApplication
getLocaleDataPath() Возвращает каталог, содержащий данные локали. CApplication
getMessages() Возвращает компонент перевода сообщений приложения. CApplication
getModule() Возвращает именованный модуль приложения. CModule
getModulePath() Возвращает каталог, содержащий модули приложения. CModule
getModules() Возвращает конфигурацию установленных модулей. CModule
getNumberFormatter() Возвращает форматировщик чисел, зависящий от локали. Будет использована текущая локальная настройка приложения. CApplication
getParams() Возвращает пользовательские параметры. CModule
getParentModule() Возвращает родительский модуль. CModule
getRequest() Возвращает компонент запроса. CApplication
getRuntimePath() Возвращает каталог, в котором хранятся файлы выполнения. CApplication
getSecurityManager() Возвращает компонент менеджера безопасности. CApplication
getStatePersister() Возвращает компонент сохранения состояния. CApplication
getTimeZone() Возвращает часовой пояс, используемый этим приложением. CApplication
getUrlManager() Возвращает компонент URL-менеджера. CApplication
handleError() Обрабатывает ошибки выполнения PHP, такие как предупреждения и сообщения. CApplication
handleException() Обрабатывает необработанные исключения PHP. CApplication
hasComponent() Проверяет, существует ли компонент с заданным именем. CModule
hasEvent() Определяет, определен ли данный событие. CComponent
hasEventHandler() Проверяет, есть ли прикреплённые обработчики для данного события. CComponent
hasModule() Возвращает значение, указывающее, установлен ли указанный модуль. CModule
hasProperty() Определяет, определено ли данное свойство. CComponent
loadGlobalState() Загружает данные глобального состояния из постоянного хранилища. CApplication
onBeginRequest() Вызывается НЕПОСРЕДСТВЕННО ПЕРЕД тем, как приложение обработает запрос. CApplication
onEndRequest() Вызывается НЕПОСРЕДСТВЕННО ПОСЛЕ того, как приложение обработает запрос. CApplication
onError() Вызывается при возникновении ошибки выполнения PHP. CApplication
onException() Вызывается при возникновении необработанного исключения PHP. CApplication
processRequest() Обрабатывает пользовательский запрос. CConsoleApplication
raiseEvent() Вызывает событие. CComponent
run() Запускает приложение. CApplication
saveGlobalState() Сохраняет данные глобального состояния в постоянное хранилище. CApplication
setAliases() Определяет корневые псевдонимы. CModule
setBasePath() Устанавливает корневой каталог приложения. CApplication
setCommand() Это метод-короткая запись для CConsoleCommandRunner::setCommand(). CConsoleApplication
setCommandPath() Устанавливает каталог, содержащий классы команд. CConsoleApplication
setComponent() Добавляет компонент под управление модуля. CModule
setComponents() Устанавливает компоненты приложения. CModule
setExtensionPath() Устанавливает корневой каталог, содержащий все сторонние расширения. CApplication
setGlobalState() Устанавливает глобальное значение. CApplication
setHomeUrl() Устанавливает URL домашней страницы CApplication
setId() Устанавливает уникальный идентификатор для приложения. CApplication
setImport() Устанавливает псевдонимы, используемые в модуле. CModule
setLanguage() Указывает язык, на который ориентировано приложение. CApplication
setLocaleDataPath() Устанавливает каталог, содержащий данные локали. CApplication
setModulePath() Устанавливает каталог, содержащий модули приложения. CModule
setModules() Настраивает подмодули этого модуля. CModule
setParams() Устанавливает пользовательские параметры. CModule
setRuntimePath() Устанавливает каталог, в котором хранятся файлы выполнения. CApplication
setTimeZone() Устанавливает часовой пояс, используемый этим приложением. CApplication

Защищённые методы

Метод Описание Определено в
createCommandRunner() Создаёт экземпляр исполнителя команд. CConsoleApplication
init() Инициализирует приложение, создавая исполнителя команд. CConsoleApplication
initSystemHandlers() Инициализирует обработчики ошибок. CApplication
preinit() Предварительно инициализирует модуль. CModule
preloadComponents() Загружает статические компоненты приложения. CModule
registerCoreComponents() Регистрирует основные компоненты приложения. CApplication

События

Событие Описание Определено в
onBeginRequest Вызывается НЕПОСРЕДСТВЕННО ПЕРЕД обработкой запроса приложением. CApplication
onEndRequest Вызывается НЕПОСРЕДСТВЕННО ПОСЛЕ обработки запроса приложением. CApplication
onException Вызывается при возникновении необработанного исключения PHP. CApplication
onError Вызывается при возникновении ошибки выполнения PHP. CApplication

Подробное описание свойств

command свойство (доступно с версии v1.1.14)

public CConsoleCommand|null getCommand()
public void setCommand(CConsoleCommand $value)

Возвращает текущую выполняемую команду. Это сокращенный метод для CConsoleCommandRunner::getCommand().

commandMap свойство

public array $commandMap;

отображение имени команды на конфигурацию команды. Каждая конфигурация команды может быть либо строкой, либо массивом. Если строка, то это путь к файлу класса команды. Если массив, то он должен содержать элемент 'class', указывающий имя класса команды или псевдоним пути к классу. Остальные пары имя-значение в массиве используются для инициализации соответствующих свойств команды. Например,

array(
  'email'=>array(
     'class'=>'path.to.Mailer',
     'interval'=>3600,
  ),
  'log'=>'path/to/LoggerCommand.php',
)

commandPath свойство

public string getCommandPath()
public void setCommandPath(string $value)

каталог, содержащий классы команд. По умолчанию 'protected/commands'.

commandRunner свойство только для чтения

public CConsoleCommandRunner getCommandRunner()

Возвращает обработчик команд.

Подробное описание методов

createCommandRunner() метод

protected CConsoleCommandRunner createCommandRunner()
{return} CConsoleCommandRunner обработчик команд
Исходный код: framework/console/CConsoleApplication.php#101 (показать)
protected function createCommandRunner()
{
    return new 
CConsoleCommandRunner;
}

Создаёт экземпляр обработчика команд.

displayError() метод

public void displayError(integer $code, string $message, string $file, string $line)
$code целое код ошибки
$message строка сообщение об ошибке
$file строка файл ошибки
$line строка строка ошибки
Исходный код: framework/console/CConsoleApplication.php#115 (показать)
public function displayError($code,$message,$file,$line)
{
    echo 
"PHP Error[$code]: $message\n";
    echo 
"    in file $file at line $line\n";
    
$trace=debug_backtrace();
    
// skip the first 4 stacks as they do not tell the error position
    
if(count($trace)>4)
        
$trace=array_slice($trace,4);
    foreach(
$trace as $i=>$t)
    {
        if(!isset(
$t['file']))
            
$t['file']='unknown';
        if(!isset(
$t['line']))
            
$t['line']=0;
        if(!isset(
$t['function']))
            
$t['function']='unknown';
        echo 
"#$i{$t['file']}({$t['line']}): ";
        if(isset(
$t['object']) && is_object($t['object']))
            echo 
get_class($t['object']).'->';
        echo 
"{$t['function']}()\n";
    }
}

Отображает захваченную ошибку PHP. Этот метод отображает ошибку в консольном режиме, если нет активного обработчика ошибок.

displayException() метод

public void displayException(Exception $exception)
$exception Исключение неперехваченное исключение
Исходный код: framework/console/CConsoleApplication.php#144 (показать)
public function displayException($exception)
{
    echo 
$exception;
}

Отображает неперехваченное исключение PHP. Этот метод отображает исключение в консольном режиме, если нет активного обработчика ошибок.

getCommand() метод (доступно с версии v1.1.14)

public CConsoleCommand|null getCommand()
{return} CConsoleCommand|null текущая активная команда.
Исходный код: framework/console/CConsoleApplication.php#186 (показать)
public function getCommand()
{
    return 
$this->getCommandRunner()->getCommand();
}

Возвращает текущую выполняемую команду. Это сокращенный метод для CConsoleCommandRunner::getCommand().

getCommandPath() метод

public string getCommandPath()
{return} строка каталог, содержащий классы команд. По умолчанию 'protected/commands'.
Исходный код: framework/console/CConsoleApplication.php#152 (показать)
public function getCommandPath()
{
    
$applicationCommandPath = $this->getBasePath().DIRECTORY_SEPARATOR.'commands';
    if(
$this->_commandPath===null && file_exists($applicationCommandPath))
        
$this->setCommandPath($applicationCommandPath);
    return 
$this->_commandPath;
}

getCommandRunner() метод

public CConsoleCommandRunner getCommandRunner()
{return} CConsoleCommandRunner обработчик команд.
Исходный код: framework/console/CConsoleApplication.php#175 (показать)
public function getCommandRunner()
{
    return 
$this->_runner;
}

Возвращает обработчик команд.

init() метод

protected void init()
Исходный код: framework/console/CConsoleApplication.php#75 (показать)
protected function init()
{
    
parent::init();
    if(empty(
$_SERVER['argv']))
        die(
'This script must be run from the command line.');
    
$this->_runner=$this->createCommandRunner();
    
$this->_runner->commands=$this->commandMap;
    
$this->_runner->addCommands($this->getCommandPath());
}

Инициализирует приложение, создавая обработчик команд.

processRequest() метод

public void processRequest()
Исходный код: framework/console/CConsoleApplication.php#90 (показать)
public function processRequest()
{
    
$exitCode=$this->_runner->run($_SERVER['argv']);
    if(
is_int($exitCode))
        
$this->end($exitCode);
}

Обрабатывает пользовательский запрос. Этот метод использует обработчик консольных команд для обработки конкретной пользовательской команды. С версии 1.1.11 этот метод завершит приложение с кодом выхода, если он возвращается пользовательской командой.

setCommand() метод (доступно с версии v1.1.14)

public void setCommand(CConsoleCommand $value)
$value CConsoleCommand текущая активная команда.
Исходный код: framework/console/CConsoleApplication.php#196 (показать)
public function setCommand($value)
{
    
$this->getCommandRunner()->setCommand($value);
}

Это сокращенный метод для CConsoleCommandRunner::setCommand().

setCommandPath() метод

public void setCommandPath(string $value)
$value строка каталог, содержащий классы команд.
Исходный код: framework/console/CConsoleApplication.php#164 (показать)
public function setCommandPath($value)
{
    if((
$this->_commandPath=realpath($value))===false || !is_dir($this->_commandPath))
        throw new 
CException(Yii::t('yii','The command path "{path}" is not a valid directory.',
            array(
'{path}'=>$value)));
}

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CConsoleApplication

Spec-Zone.ru

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