Spec-Zone.ru › Yii 1.1

CWebApplication

Пакет system.web
Наследование класс CWebApplication » CApplication » CModule » CComponent
С момента 1.0
Исходный код framework/web/CWebApplication.php
CWebApplication расширяет CApplication, предоставляя функциональность, специфичную для веб-запросов.

CWebApplication управляет контроллерами в паттерне MVC и предоставляет следующие дополнительные основные компоненты приложения:
  • urlManager: обеспечивает функциональность парсинга и построения URL;
  • request: инкапсулирует информацию о веб-запросе;
  • session: предоставляет функциональность, связанную с сессиями;
  • assetManager: управляет публикацией частных файлов ресурсов.
  • user: представляет информацию о сессии пользователя.
  • themeManager: управляет темами.
  • authManager: управляет контролем доступа на основе ролей (RBAC).
  • clientScript: управляет клиентскими скриптами (javascripts и CSS).
  • widgetFactory: создает виджеты и поддерживает оформление виджетов.


Пользовательские запросы разрешаются как пары контроллер-действие и дополнительные параметры. CWebApplication создает экземпляр запрошенного контроллера и позволяет ему обработать фактический пользовательский запрос. Если пользователь не указывает идентификатор контроллера, предполагается, что запрашивается defaultController (по умолчанию 'site').

Файлы класса контроллера должны находиться в каталоге controllerPath (по умолчанию 'protected/controllers'). Имя файла и имя класса должны совпадать с идентификатором контроллера, первая буква должна быть заглавной, и добавляться суффикс 'Controller'. Например, контроллер 'article' определяется классом 'ArticleController', который находится в файле 'protected/controllers/ArticleController.php'.

Общие свойства

Свойство Тип Описание Определено в
assetManager CAssetManager компонент менеджера активов CWebApplication
authManager IAuthManager компонент менеджера авторизации CWebApplication
basePath строка Возвращает корневой путь приложения. CApplication
baseUrl строка Возвращает относительный URL для приложения. CApplication
behaviors массив поведения, которые должны быть прикреплены к модулю. CModule
cache CCache Возвращает компонент кэша. CApplication
catchAllRequest массив настройка, определяющая контроллер, который должен обрабатывать все запросы пользователей. CWebApplication
charset строка кодировка, используемая в настоящее время для приложения. CApplication
clientScript CClientScript Возвращает менеджер клиентского скрипта. CWebApplication
components массив Возвращает компоненты приложения. CModule
controller CController текущий активный контроллер CWebApplication
controllerMap массив отображение идентификатора контроллера на конфигурации контроллера. CWebApplication
controllerNamespace строка Пространство имен, которое должно использоваться при загрузке контроллеров. CWebApplication
controllerPath строка директория, содержащая классы контроллеров. CWebApplication
coreMessages CPhpMessageSource Возвращает компонент перевода сообщений ядра. CApplication
dateFormatter CDateFormatter Возвращает форматировщик дат, зависящий от локали. CApplication
db CDbConnection Возвращает компонент подключения к базе данных. CApplication
defaultController строка маршрут по умолчанию для контроллера, действия или модуля. CWebApplication
errorHandler CErrorHandler Возвращает компонент обработчика ошибок. CApplication
extensionPath строка Возвращает корневой каталог, содержащий все сторонние расширения. CApplication
format CFormatter Возвращает компонент форматировщика. CApplication
homeUrl строка URL домашней страницы CApplication
id строка Возвращает уникальный идентификатор приложения. CApplication
language строка Возвращает язык, используемый пользователем, и к которому должно быть ориентировано приложение. CApplication
layout смешанный тип приложение-глобальная макетная страница. CWebApplication
layoutPath строка корневой каталог файлов макета. CWebApplication
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 строка Возвращает каталог, в котором хранятся файлы во время выполнения. CApplication
securityManager CSecurityManager Возвращает компонент менеджера безопасности. CApplication
session CHttpSession компонент сессии CWebApplication
sourceLanguage строка язык, на котором написано приложение. CApplication
statePersister CStatePersister Возвращает компонент сохранения состояния. CApplication
systemViewPath строка корневой каталог системных файлов представлений. CWebApplication
theme CTheme текущая тема. CWebApplication
themeManager CThemeManager менеджер тем. CWebApplication
timeZone строка Возвращает часовой пояс, используемый этим приложением. CApplication
urlManager CUrlManager Возвращает компонент менеджера URL. CApplication
user CWebUser информация о сессии пользователя CWebApplication
viewPath строка корневой каталог файлов представлений. CWebApplication
viewRenderer IViewRenderer Возвращает рендерер представлений. CWebApplication
widgetFactory IWidgetFactory Возвращает фабрику виджетов. CWebApplication

Публичные методы

Метод Описание Определено в
__call() Вызывает метод с заданным именем, который не является методом класса. CComponent
__construct() Конструктор. CApplication
__get() Магический метод-геттер. CModule
__isset() Проверяет, является ли значение свойства null. CModule
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
afterControllerAction() Постобработчик действий контроллера. CWebApplication
asa() Возвращает объект поведения с заданным именем. CComponent
attachBehavior() Присоединяет поведение к компоненту. CComponent
attachBehaviors() Присоединяет список поведений к компоненту. CComponent
attachEventHandler() Присоединяет обработчик событий к событию. CComponent
beforeControllerAction() Предфильтр для действий контроллера. CWebApplication
canGetProperty() Определяет, можно ли считать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
clearGlobalState() Очищает глобальное значение. CApplication
configure() Настраивает модуль с помощью заданной конфигурации. CModule
createAbsoluteUrl() Создаёт абсолютный URL на основе заданной информации о контроллере и действии. CApplication
createController() Создаёт экземпляр контроллера на основе маршрута. CWebApplication
createUrl() Создаёт относительный URL на основе заданной информации о контроллере и действии. CApplication
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик событий. CComponent
disableBehavior() Отключает присоединённое поведение. CComponent
disableBehaviors() Отключает все присоединённые поведения к этому компоненту. CComponent
displayError() Отображает пойманную PHP ошибку. CApplication
displayException() Отображает неперехваченное PHP исключение. CApplication
enableBehavior() Включает присоединённое поведение. CComponent
enableBehaviors() Включает все присоединённые к этому компоненту поведения. CComponent
end() Завершает работу приложения. CApplication
evaluateExpression() Вычисляет PHP выражение или обратный вызов в контексте этого компонента. CComponent
findLocalizedFile() Возвращает локализованную версию указанного файла. CApplication
findModule() Не вызывать этот метод. Этот метод используется для поиска модуля по его идентификатору. CWebApplication
getAssetManager() Возвращает компонент менеджера ресурсов. CWebApplication
getAuthManager() Возвращает компонент менеджера авторизации. CWebApplication
getBasePath() Возвращает корневой путь приложения. CApplication
getBaseUrl() Возвращает относительный URL приложения. CApplication
getCache() Возвращает компонент кэша. CApplication
getClientScript() Возвращает менеджер скриптов клиента. CWebApplication
getComponent() Получает компонент приложения с заданным именем. CModule
getComponents() Возвращает компоненты приложения. CModule
getController() Возвращает текущий активный контроллер. CWebApplication
getControllerPath() Возвращает каталог, содержащий классы контроллеров. По умолчанию — 'protected/controllers'. CWebApplication
getCoreMessages() Возвращает компонент перевода основных сообщений. CApplication
getDateFormatter() Возвращает форматировщик дат, зависящий от локали. CApplication
getDb() Возвращает компонент подключения к базе данных. CApplication
getErrorHandler() Возвращает компонент обработчика ошибок. CApplication
getEventHandlers() Возвращает список присоединённых обработчиков событий для события. CComponent
getExtensionPath() Возвращает корневой каталог, содержащий все сторонние расширения. CApplication
getFormat() Возвращает компонент форматирования. CApplication
getGlobalState() Возвращает глобальное значение. CApplication
getHomeUrl() Возвращает URL домашней страницы. CApplication
getId() Возвращает уникальный идентификатор приложения. CApplication
getLanguage() Возвращает язык, используемый пользователем, и к которому должно быть адаптировано приложение. CApplication
getLayoutPath() Возвращает корневой каталог файлов макетов. По умолчанию — 'protected/views/layouts'. CWebApplication
getLocale() Возвращает экземпляр локали. CApplication
getLocaleDataPath() Возвращает каталог, содержащий данные локализации. CApplication
getMessages() Возвращает компонент перевода сообщений приложения. CApplication
getModule() Возвращает модуль приложения по имени. CModule
getModulePath() Возвращает каталог, содержащий модули приложения. CModule
getModules() Возвращает конфигурацию установленных модулей. CModule
getNumberFormatter() Возвращает форматировщик чисел, зависящий от локали. Используется текущая локаль приложения. CApplication
getParams() Возвращает пользовательские параметры. CModule
getParentModule() Возвращает родительский модуль. CModule
getRequest() Возвращает компонент запроса. CApplication
getRuntimePath() Возвращает каталог, в котором хранятся временные файлы. CApplication
getSecurityManager() Возвращает компонент управления безопасностью. CApplication
getSession() Возвращает компонент сессии. CWebApplication
getStatePersister() Возвращает компонент сохранения состояния. CApplication
getSystemViewPath() Возвращает корневой каталог файлов системного представления. По умолчанию 'protected/views/system'. CWebApplication
getTheme() Возвращает текущую тему. Null, если тема не используется. CWebApplication
getThemeManager() Возвращает менеджер тем. CWebApplication
getTimeZone() Возвращает часовой пояс, используемый приложением. CApplication
getUrlManager() Возвращает компонент управления URL. CApplication
getUser() Возвращает информацию о сессии пользователя. CWebApplication
getViewPath() Возвращает корневой каталог файлов представления. По умолчанию 'protected/views'. CWebApplication
getViewRenderer() Возвращает рендерер представлений. CWebApplication
getWidgetFactory() Возвращает фабрику виджетов. CWebApplication
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() Обрабатывает текущий запрос. CWebApplication
raiseEvent() Вызывает событие. CComponent
run() Запускает приложение. CApplication
runController() Создаёт контроллер и выполняет указанное действие. CWebApplication
saveGlobalState() Сохраняет данные глобального состояния в постоянное хранилище. CApplication
setAliases() Определяет корневые псевдонимы. CModule
setBasePath() Устанавливает корневой каталог приложения. CApplication
setComponent() Добавляет компонент в управление модуля. CModule
setComponents() Устанавливает компоненты приложения. CModule
setController() Устанавливает текущий активный контроллер. CWebApplication
setControllerPath() Устанавливает каталог, содержащий классы контроллеров. CWebApplication
setExtensionPath() Устанавливает корневой каталог, содержащий все сторонние расширения. CApplication
setGlobalState() Устанавливает глобальное значение. CApplication
setHomeUrl() Устанавливает URL домашней страницы. CApplication
setId() Устанавливает уникальный идентификатор приложения. CApplication
setImport() Устанавливает псевдонимы, используемые в модуле. CModule
setLanguage() Указывает язык, на который ориентировано приложение. CApplication
setLayoutPath() Устанавливает корневой каталог файлов макета. CWebApplication
setLocaleDataPath() Устанавливает каталог, содержащий данные локализации. CApplication
setModulePath() Устанавливает каталог, содержащий модули приложения. CModule
setModules() Настраивает подмодули данного модуля. CModule
setParams() Устанавливает пользовательские параметры. CModule
setRuntimePath() Устанавливает директорию для хранения файлов во время выполнения. CApplication
setSystemViewPath() Устанавливает корневую директорию файлов системного представления. CWebApplication
setTheme() Устанавливает имя темы. CWebApplication
setTimeZone() Устанавливает часовой пояс, используемый этим приложением. CApplication
setViewPath() Устанавливает корневую директорию файлов представления. CWebApplication

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

Метод Описание Определено в
init() Инициализирует приложение. CWebApplication
initSystemHandlers() Инициализирует обработчики ошибок. CApplication
parseActionParams() Разбирает информацию о пути до идентификатора действия и GET-переменных. CWebApplication
preinit() Предварительная инициализация модуля. CModule
preloadComponents() Загрузка статических компонентов приложения. CModule
registerCoreComponents() Регистрирует основные компоненты приложения. CWebApplication

События

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

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

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

public CAssetManager getAssetManager()

компонент менеджера ресурсов

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

public IAuthManager getAuthManager()

компонент менеджера авторизации

catchAllRequest свойство

public array $catchAllRequest;

конфигурация, определяющая контроллер, который должен обрабатывать все пользовательские запросы. Это в основном используется, когда приложение находится в режиме технического обслуживания, и мы должны использовать контроллер для обработки всех входящих запросов. Конфигурация определяет маршрут контроллера (первый элемент) и параметры GET (остальные пары имя-значение). Например,

array(
    'offline/notice',
    'param1'=>'value1',
    'param2'=>'value2',
)
Значение по умолчанию null, означающее, что обработка всех запросов неактивна.

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

public CClientScript getClientScript()

Возвращает менеджер скриптов клиента.

controller свойство

public CController getController()
public void setController(CController $value)

текущий активный контроллер

controllerMap свойство

public array $controllerMap;

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

array(
  'post'=>array(
     'class'=>'path.to.PostController',
     'pageTitle'=>'something new',
  ),
  'user'=>'path.to.UserController',
)


При обработке входящего запроса карта контроллеров будет сначала проверена, чтобы определить, может ли запрос быть обработан одним из контроллеров в карте. Если нет, контроллер будет искаться в стандартном пути к контроллерам.

controllerNamespace свойство (доступно начиная с v1.1.11)

public string $controllerNamespace;

Пространство имён, которое должно быть использовано при загрузке контроллеров. По умолчанию используется глобальное пространство имён.

controllerPath свойство

public string getControllerPath()
public void setControllerPath(string $value)

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

defaultController свойство

public string $defaultController;

маршрут для контроллера по умолчанию, действия или модуля. По умолчанию 'site'.

layout свойство

public mixed $layout;

приложение-широкий макет. По умолчанию 'main' (относительно layoutPath). Если значение false, макет не будет использоваться.

layoutPath свойство

public string getLayoutPath()
public void setLayoutPath(string $path)

корневая директория файлов макета. По умолчанию 'protected/views/layouts'.

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

public CHttpSession getSession()

компонент сессии

systemViewPath свойство

public string getSystemViewPath()
public void setSystemViewPath(string $path)

корневая директория файлов системного представления. По умолчанию 'protected/views/system'.

theme свойство

public CTheme getTheme()
public void setTheme(string $value)

используемая тема. Null, если тема не используется.

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

public CThemeManager getThemeManager()

менеджер тем.

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

public CWebUser getUser()

информация о пользовательской сессии

viewPath свойство

public string getViewPath()
public void setViewPath(string $path)

корневая директория файлов представления. По умолчанию 'protected/views'.

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

public IViewRenderer getViewRenderer()

Возвращает рендерер представления. Если этот компонент зарегистрирован и включён, логика рендеринга представления по умолчанию, определённая в CBaseController, будет заменена этим рендерером.

widgetFactory свойство только для чтения (доступно начиная с v1.1)

public IWidgetFactory getWidgetFactory()

Возвращает фабрику виджетов.

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

afterControllerAction() метод

public void afterControllerAction(CController $controller, CAction $action)
$controller CController контроллер
$action CAction действие
Исходный код: framework/web/CWebApplication.php#514 (показать)
public function afterControllerAction($controller,$action)
{
}

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

beforeControllerAction() метод

public boolean beforeControllerAction(CController $controller, CAction $action)
$controller CController контроллер
$action CAction действие
{return} boolean выполнять ли действие.
Исходный код: framework/web/CWebApplication.php#501 (показать)
public function beforeControllerAction($controller,$action)
{
    return 
true;
}

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

createController() метод

public array createController(string $route, CWebModule $owner=NULL)
$route строка маршрут запроса.
$owner CWebModule модуль, к которому будет принадлежать новый контроллер. По умолчанию null, что означает, что экземпляр приложения является владельцем.
{return} массив экземпляр контроллера и идентификатор действия. Null, если класс контроллера не существует или маршрут недействителен.
Исходный код: framework/web/CWebApplication.php#310 (показать)
public function createController($route,$owner=null)
{
    if(
$owner===null)
        
$owner=$this;
    if((array)
$route===$route || ($route=trim($route,'/'))==='')
        
$route=$owner->defaultController;
    
$caseSensitive=$this->getUrlManager()->caseSensitive;

    
$route.='/';
    while((
$pos=strpos($route,'/'))!==false)
    {
        
$id=substr($route,0,$pos);
        if(!
preg_match('/^\w+$/',$id))
            return 
null;
        if(!
$caseSensitive)
            
$id=strtolower($id);
        
$route=(string)substr($route,$pos+1);
        if(!isset(
$basePath))  // first segment
        
{
            if(isset(
$owner->controllerMap[$id]))
            {
                return array(
                    
Yii::createComponent($owner->controllerMap[$id],$id,$owner===$this?null:$owner),
                    
$this->parseActionParams($route),
                );
            }

            if((
$module=$owner->getModule($id))!==null)
                return 
$this->createController($route,$module);

            
$basePath=$owner->getControllerPath();
            
$controllerID='';
        }
        else
            
$controllerID.='/';
        
$className=ucfirst($id).'Controller';
        
$classFile=$basePath.DIRECTORY_SEPARATOR.$className.'.php';

        if(
$owner->controllerNamespace!==null)
            
$className=$owner->controllerNamespace.'\\'.str_replace('/','\\',$controllerID).$className;

        if(
is_file($classFile))
        {
            if(!
class_exists($className,false))
                require(
$classFile);
            if(
class_exists($className,false) && is_subclass_of($className,'CController'))
            {
                
$id[0]=strtolower($id[0]);
                return array(
                    new 
$className($controllerID.$id,$owner===$this?null:$owner),
                    
$this->parseActionParams($route),
                );
            }
            return 
null;
        }
        
$controllerID.=$id;
        
$basePath.=DIRECTORY_SEPARATOR.$id;
    }
}

Создаёт экземпляр контроллера на основе маршрута. Маршрут должен содержать идентификатор контроллера и идентификатор действия. Он также может содержать дополнительные переменные GET. Все они должны быть объединены друг с другом через слэши.

Этот метод попытается создать контроллер в следующей последовательности:

  1. Если первый сегмент найден в controllerMap, соответствующая конфигурация контроллера будет использована для создания контроллера;
  2. Если первый сегмент оказывается идентификатором модуля, соответствующий модуль будет использован для создания контроллера;
  3. В противном случае он будет искать под controllerPath для создания соответствующего контроллера. Например, если маршрут равен "admin/user/create", то контроллер будет создан с использованием файла класса "protected/controllers/admin/UserController.php".

findModule() метод

public CWebModule findModule(string $id)
$id строка идентификатор модуля
{return} CWebModule модуль, у которого есть указанный идентификатор. Null, если модуль не найден.
Исходный код: framework/web/CWebApplication.php#523 (показать)
public function findModule($id)
{
    if((
$controller=$this->getController())!==null && ($module=$controller->getModule())!==null)
    {
        do
        {
            if((
$m=$module->getModule($id))!==null)
                return 
$m;
        } while((
$module=$module->getParentModule())!==null);
    }
    if((
$m=$this->getModule($id))!==null)
        return 
$m;
}

Не вызывать этот метод. Этот метод используется для поиска модуля по его идентификатору внутри приложения.

getAssetManager() метод

public CAssetManager getAssetManager()
{return} CAssetManager компонент менеджера активов
Исходный код: framework/web/CWebApplication.php#191 (показать)
public function getAssetManager()
{
    return 
$this->getComponent('assetManager');
}

getAuthManager() метод

public IAuthManager getAuthManager()
{return} IAuthManager компонент менеджера авторизации
Исходный код: framework/web/CWebApplication.php#183 (показать)
public function getAuthManager()
{
    return 
$this->getComponent('authManager');
}

getClientScript() метод

public CClientScript getClientScript()
{return} CClientScript менеджер скриптов клиента
Исходный код: framework/web/CWebApplication.php#228 (показать)
public function getClientScript()
{
    return 
$this->getComponent('clientScript');
}

Возвращает менеджер скриптов клиента.

getController() метод

public CController getController()
{return} CController текущий активный контроллер
Исходный код: framework/web/CWebApplication.php#391 (показать)
public function getController()
{
    return 
$this->_controller;
}

getControllerPath() метод

public string getControllerPath()
{return} строка директория, содержащая классы контроллеров. По умолчанию 'protected/controllers'.
Исходный код: framework/web/CWebApplication.php#407 (показать)
public function getControllerPath()
{
    if(
$this->_controllerPath!==null)
        return 
$this->_controllerPath;
    else
        return 
$this->_controllerPath=$this->getBasePath().DIRECTORY_SEPARATOR.'controllers';
}

getLayoutPath() метод

public string getLayoutPath()
{return} строка корневая директория файлов макетов. По умолчанию 'protected/views/layouts'.
Исходный код: framework/web/CWebApplication.php#473 (показать)
public function getLayoutPath()
{
    if(
$this->_layoutPath!==null)
        return 
$this->_layoutPath;
    else
        return 
$this->_layoutPath=$this->getViewPath().DIRECTORY_SEPARATOR.'layouts';
}

getSession() метод

public CHttpSession getSession()
{return} CHttpSession компонент сессии
Исходный код: framework/web/CWebApplication.php#199 (показать)
public function getSession()
{
    return 
$this->getComponent('session');
}

getSystemViewPath() метод

public string getSystemViewPath()
{return} строка корневая директория файлов системных представлений. По умолчанию 'protected/views/system'.
Исходный код: framework/web/CWebApplication.php#451 (показать)
public function getSystemViewPath()
{
    if(
$this->_systemViewPath!==null)
        return 
$this->_systemViewPath;
    else
        return 
$this->_systemViewPath=$this->getViewPath().DIRECTORY_SEPARATOR.'system';
}

getTheme() метод

public CTheme getTheme()
{return} CTheme текущая тема. Null, если тема не используется.
Исходный код: framework/web/CWebApplication.php#254 (показать)
public function getTheme()
{
    if(
is_string($this->_theme))
        
$this->_theme=$this->getThemeManager()->getTheme($this->_theme);
    return 
$this->_theme;
}

getThemeManager() метод

public CThemeManager getThemeManager()
{return} CThemeManager менеджер тем.
Исходный код: framework/web/CWebApplication.php#246 (показать)
public function getThemeManager()
{
    return 
$this->getComponent('themeManager');
}

getUser() метод

public CWebUser getUser()
{return} CWebUser информация о сессии пользователя
Исходный код: framework/web/CWebApplication.php#207 (показать)
public function getUser()
{
    return 
$this->getComponent('user');
}

getViewPath() метод

public string getViewPath()
{return} строка корневая директория файлов представлений. По умолчанию 'protected/views'.
Исходный код: framework/web/CWebApplication.php#429 (показать)
public function getViewPath()
{
    if(
$this->_viewPath!==null)
        return 
$this->_viewPath;
    else
        return 
$this->_viewPath=$this->getBasePath().DIRECTORY_SEPARATOR.'views';
}

getViewRenderer() метод

public IViewRenderer getViewRenderer()
{return} IViewRenderer рендерер представлений.
Исходный код: framework/web/CWebApplication.php#219 (показать)
public function getViewRenderer()
{
    return 
$this->getComponent('viewRenderer');
}

Возвращает рендерер представлений. Если этот компонент зарегистрирован и включён, стандартная логика рендеринга представлений, определённая в CBaseController, будет заменена этим рендерером.

getWidgetFactory() метод (доступен начиная с v1.1)

public IWidgetFactory getWidgetFactory()
{return} IWidgetFactory фабрика виджетов
Исходный код: framework/web/CWebApplication.php#238 (показать)
public function getWidgetFactory()
{
    return 
$this->getComponent('widgetFactory');
}

Возвращает фабрику виджетов.

init() метод

protected void init()
Исходный код: framework/web/CWebApplication.php#541 (показать)
protected function init()
{
    
parent::init();
    
// preload 'request' so that it has chance to respond to onBeginRequest event.
    
$this->getRequest();
}

Инициализирует приложение. Этот метод переопределяет родительскую реализацию, предварительно загружая компонент 'request'.

parseActionParams() метод

protected string parseActionParams(string $pathInfo)
$pathInfo строка информация о пути
{return} строка идентификатор действия
Исходный код: framework/web/CWebApplication.php#375 (показать)
protected function parseActionParams($pathInfo)
{
    if((
$pos=strpos($pathInfo,'/'))!==false)
    {
        
$manager=$this->getUrlManager();
        
$manager->parsePathInfo((string)substr($pathInfo,$pos+1));
        
$actionID=substr($pathInfo,0,$pos);
        return 
$manager->caseSensitive ? $actionID : strtolower($actionID);
    }
    else
        return 
$pathInfo;
}

Разбирает информацию о пути в идентификатор действия и переменные GET.

processRequest() метод

public void processRequest()
Исходный код: framework/web/CWebApplication.php#131 (показать)
public function processRequest()
{
    if(
is_array($this->catchAllRequest) && isset($this->catchAllRequest[0]))
    {
        
$route=$this->catchAllRequest[0];
        foreach(
array_splice($this->catchAllRequest,1) as $name=>$value)
            
$_GET[$name]=$value;
    }
    else
        
$route=$this->getUrlManager()->parseUrl($this->getRequest());
    
$this->runController($route);
}

Обрабатывает текущий запрос. Сначала он разрешает запрос в контроллер и действие, а затем создаёт контроллер для выполнения действия.

registerCoreComponents() метод

protected void registerCoreComponents()
Исходный код: framework/web/CWebApplication.php#149 (показать)
protected function registerCoreComponents()
{
    
parent::registerCoreComponents();

    
$components=array(
        
'session'=>array(
            
'class'=>'CHttpSession',
        ),
        
'assetManager'=>array(
            
'class'=>'CAssetManager',
        ),
        
'user'=>array(
            
'class'=>'CWebUser',
        ),
        
'themeManager'=>array(
            
'class'=>'CThemeManager',
        ),
        
'authManager'=>array(
            
'class'=>'CPhpAuthManager',
        ),
        
'clientScript'=>array(
            
'class'=>'CClientScript',
        ),
        
'widgetFactory'=>array(
            
'class'=>'CWidgetFactory',
        ),
    );

    
$this->setComponents($components);
}

Регистрирует основные компоненты приложения. Этот метод переопределяет родительскую реализацию, регистрируя дополнительные основные компоненты.

См. также

  • setComponents

runController() метод

public void runController(string $route)
$route строка маршрут текущего запроса. Подробнее см. createController.
Исходный код: framework/web/CWebApplication.php#274 (показать)
public function runController($route)
{
    if((
$ca=$this->createController($route))!==null)
    {
        list(
$controller,$actionID)=$ca;
        
$oldController=$this->_controller;
        
$this->_controller=$controller;
        
$controller->init();
        
$controller->run($actionID);
        
$this->_controller=$oldController;
    }
    else
        throw new 
CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
            array(
'{route}'=>$route===''?$this->defaultController:$route)));
}

Создаёт контроллер и выполняет указанное действие.

setController() метод

public void setController(CController $value)
$value CController текущий активный контроллер
Исходный код: framework/web/CWebApplication.php#399 (показать)
public function setController($value)
{
    
$this->_controller=$value;
}

setControllerPath() метод

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

setLayoutPath() метод

public void setLayoutPath(string $path)
$path строка корневая директория файлов макетов.
Исходный код: framework/web/CWebApplication.php#485 (показать)
public function setLayoutPath($path)
{
    if((
$this->_layoutPath=realpath($path))===false || !is_dir($this->_layoutPath))
        throw new 
CException(Yii::t('yii','The layout path "{path}" is not a valid directory.',
            array(
'{path}'=>$path)));
}

setSystemViewPath() метод

public void setSystemViewPath(string $path)
$path строка корневая директория файлов системных представлений.
Исходный код: framework/web/CWebApplication.php#463 (показать)
public function setSystemViewPath($path)
{
    if((
$this->_systemViewPath=realpath($path))===false || !is_dir($this->_systemViewPath))
        throw new 
CException(Yii::t('yii','The system view path "{path}" is not a valid directory.',
            array(
'{path}'=>$path)));
}

setTheme() метод

public void setTheme(string $value)
$value строка имя темы
Исходный код: framework/web/CWebApplication.php#264 (показать)
public function setTheme($value)
{
    
$this->_theme=$value;
}

setViewPath() метод

public void setViewPath(string $path)
$path строка корневая директория файлов представлений.
Исходный код: framework/web/CWebApplication.php#441 (показать)
public function setViewPath($path)
{
    if((
$this->_viewPath=realpath($path))===false || !is_dir($this->_viewPath))
        throw new 
CException(Yii::t('yii','The view path "{path}" is not a valid directory.',
            array(
'{path}'=>$path)));
}

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

Spec-Zone.ru

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