CWebModule
| Пакет | system.web |
|---|---|
| Наследование | class CWebModule » CModule » CComponent |
| Подклассы | GiiModule |
| Исходный код | framework/web/CWebModule.php |
Модуль приложения можно рассматривать как автономное подприложение, имеющее собственные контроллеры, модели и представления и которое можно повторно использовать в другом проекте целиком. Контроллеры внутри модуля должны быть доступны через маршруты, префикс которых совпадает с идентификатором модуля.
Общественные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| basePath | string | Возвращает корневой каталог модуля. | CModule |
| behaviors | array | Поведения, которые должны быть присоединены к модулю. | CModule |
| components | array | Возвращает компоненты приложения. | CModule |
| controllerMap | array | отображение от идентификатора контроллера к конфигурациям контроллера. | CWebModule |
| controllerNamespace | string | Пространство имен, которое должно использоваться при загрузке контроллеров. | CWebModule |
| controllerPath | string | каталог, содержащий классы контроллеров. | CWebModule |
| defaultController | string | Идентификатор контроллера по умолчанию для данного модуля. | CWebModule |
| description | string | Возвращает описание данного модуля. | CWebModule |
| id | string | Возвращает идентификатор модуля. | CModule |
| layout | mixed | Макет, который используется контроллерами внутри этого модуля. | CWebModule |
| layoutPath | string | Корневой каталог файлов макета. | CWebModule |
| modulePath | string | Возвращает каталог, содержащий модули приложения. | CModule |
| modules | array | Возвращает конфигурацию установленных модулей. | CModule |
| name | string | Возвращает имя этого модуля. | CWebModule |
| params | CAttributeCollection | Возвращает пользовательские параметры. | CModule |
| parentModule | CModule | Возвращает родительский модуль. | CModule |
| preload | array | Идентификаторы компонентов приложения, которые должны быть загружены предварительно. | CModule |
| version | string | Возвращает версию этого модуля. | CWebModule |
| viewPath | string | Корневой каталог файлов представлений. | CWebModule |
Общие методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызов именованного метода, который не является методом класса. | CComponent |
| __construct() | Конструктор. | CModule |
| __get() | Магический метод-геттер. | CModule |
| __isset() | Проверка, является ли значение свойства null. | CModule |
| __set() | Устанавливает значение свойства компонента. | CComponent |
| __unset() | Устанавливает свойство компонента в null. | CComponent |
| afterControllerAction() | Фильтр пост-обработки действий контроллера. | CWebModule |
| asa() | Возвращает объект именованного поведения. | CComponent |
| attachBehavior() | Присоединяет поведение к этому компоненту. | CComponent |
| attachBehaviors() | Присоединяет список поведений к компоненту. | CComponent |
| attachEventHandler() | Присоединяет обработчик событий к событию. | CComponent |
| beforeControllerAction() | Фильтр предварительной обработки действий контроллера. | CWebModule |
| canGetProperty() | Определяет, можно ли читать свойство. | CComponent |
| canSetProperty() | Определяет, можно ли установить свойство. | CComponent |
| configure() | Настраивает модуль заданными настройками. | CModule |
| detachBehavior() | Отсоединяет поведение от компонента. | CComponent |
| detachBehaviors() | Отсоединяет все поведения от компонента. | CComponent |
| detachEventHandler() | Отсоединяет существующий обработчик событий. | CComponent |
| disableBehavior() | Отключает присоединенное поведение. | CComponent |
| disableBehaviors() | Отключает все присоединенные поведения к этому компоненту. | CComponent |
| enableBehavior() | Включает присоединенное поведение. | CComponent |
| enableBehaviors() | Включает все присоединенные поведения к этому компоненту. | CComponent |
| evaluateExpression() | Оценивает PHP-выражение или обратный вызов в контексте этого компонента. | CComponent |
| getBasePath() | Возвращает корневой каталог модуля. | CModule |
| getComponent() | Получает именованный компонент приложения. | CModule |
| getComponents() | Возвращает компоненты приложения. | CModule |
| getControllerPath() | Возвращает каталог, содержащий классы контроллеров. По умолчанию, 'moduleDir/controllers', где moduleDir - каталог, содержащий класс модуля. | CWebModule |
| getDescription() | Возвращает описание этого модуля. | CWebModule |
| getEventHandlers() | Возвращает список присоединенных обработчиков событий для события. | CComponent |
| getId() | Возвращает идентификатор модуля. | CModule |
| getLayoutPath() | Возвращает корневой каталог файлов макетов. По умолчанию, 'moduleDir/views/layouts', где moduleDir - каталог, содержащий класс модуля. | CWebModule |
| getModule() | Получает именованный модуль приложения. | CModule |
| getModulePath() | Возвращает каталог, содержащий модули приложения. | CModule |
| getModules() | Возвращает конфигурацию установленных модулей. | CModule |
| getName() | Возвращает имя этого модуля. | CWebModule |
| getParams() | Возвращает пользовательские параметры. | CModule |
| getParentModule() | Возвращает родительский модуль. | CModule |
| getVersion() | Возвращает версию этого модуля. | CWebModule |
| getViewPath() | Возвращает корневой каталог файлов представлений. По умолчанию, 'moduleDir/views', где moduleDir - каталог, содержащий класс модуля. | CWebModule |
| hasComponent() | Проверяет, существует ли именованный компонент. | CModule |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, есть ли у именованного события присоединенные обработчики. | CComponent |
| hasModule() | Возвращает значение, указывающее, установлен ли указанный модуль. | CModule |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| raiseEvent() | Вызывает событие. | CComponent |
| setAliases() | Определяет корневые псевдонимы. | CModule |
| setBasePath() | Устанавливает корневой каталог модуля. | CModule |
| setComponent() | Помещает компонент под управление модуля. | CModule |
| setComponents() | Устанавливает компоненты приложения. | CModule |
| setControllerPath() | Устанавливает каталог, содержащий классы контроллеров. | CWebModule |
| setId() | Устанавливает идентификатор модуля. | CModule |
| setImport() | Устанавливает псевдонимы, используемые в модуле. | CModule |
| setLayoutPath() | Устанавливает корневой каталог файлов макетов. | CWebModule |
| setModulePath() | Устанавливает каталог, содержащий модули приложения. | CModule |
| setModules() | Настраивает подмодули этого модуля. | CModule |
| setParams() | Устанавливает пользовательские параметры. | CModule |
| setViewPath() | Устанавливает корневой каталог файлов представлений. | CWebModule |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| init() | Инициализирует модуль. | CModule |
| preinit() | Предварительная инициализация модуля. | CModule |
| preloadComponents() | Загружает статические компоненты приложения. | CModule |
Подробное описание свойств
controllerMap свойство
public array $controllerMap;
отображение ID контроллера на конфигурации контроллера. Для получения более подробной информации обратитесь к CWebApplication::controllerMap.
controllerNamespace свойство (доступно начиная с v1.1.11)
public string $controllerNamespace;
Пространство имён, которое должно быть использовано при загрузке контроллеров. По умолчанию используется глобальное пространство имён.
controllerPath свойство
public string getControllerPath()
public void setControllerPath(string $value)
каталог, содержащий классы контроллеров. По умолчанию 'moduleDir/controllers', где moduleDir — каталог, содержащий класс модуля.
defaultController свойство
public string $defaultController;
ID контроллера по умолчанию для этого модуля. По умолчанию 'default'.
description свойство только для чтения
public string getDescription()
Возвращает описание этого модуля. По умолчанию возвращает пустую строку. Вы можете переопределить этот метод для настройки описания модуля.
layout свойство
public mixed $layout;
макет, используемый контроллерами внутри этого модуля. Если контроллер явно указал свой макет, это свойство будет проигнорировано. Если это null (по умолчанию), будет использован макет приложения или родительского модуля (если доступен). Если это false, макет не будет использован.
layoutPath свойство
public string getLayoutPath()
public void setLayoutPath(string $path)
корневой каталог файлов макетов. По умолчанию 'moduleDir/views/layouts', где moduleDir — каталог, содержащий класс модуля.
name свойство только для чтения
public string getName()
Возвращает имя этого модуля. По умолчанию возвращает id. Вы можете переопределить этот метод для настройки имени модуля.
version свойство только для чтения
public string getVersion()
Возвращает версию этого модуля. По умолчанию возвращает '1.0'. Вы можете переопределить этот метод для настройки версии модуля.
viewPath свойство
public string getViewPath()
public void setViewPath(string $path)
корневой каталог файлов представлений. По умолчанию 'moduleDir/views', где moduleDir — каталог, содержащий класс модуля.
Подробное описание методов
afterControllerAction() метод
public void afterControllerAction(CController $controller, CAction $action) | ||
| $controller | CController | контроллер |
| $action | CAction | действие |
public function afterControllerAction($controller,$action)
{
if(($parent=$this->getParentModule())===null)
$parent=Yii::app();
$parent->afterControllerAction($controller,$action);
}
Постобработчик для действий контроллера. Этот метод вызывается после выполнения действия текущего контроллера и всех его фильтров. Если вы переопределяете этот метод, убедитесь, что вы вызываете родительскую реализацию в конце.
beforeControllerAction() метод
public boolean beforeControllerAction(CController $controller, CAction $action) | ||
| $controller | CController | контроллер |
| $action | CAction | действие |
| {return} | boolean | должен ли быть выполнен action. |
public function beforeControllerAction($controller,$action)
{
if(($parent=$this->getParentModule())===null)
$parent=Yii::app();
return $parent->beforeControllerAction($controller,$action);
}
Предфильтр для действий контроллера. Этот метод вызывается перед выполнением действия текущего контроллера и всех его фильтров. Вы можете переопределить этот метод следующим образом:
if(parent::beforeControllerAction($controller,$action))
{
// your code
return true;
}
else
return false;
getControllerPath() метод
public string getControllerPath() | ||
| {return} | string | каталог, содержащий классы контроллеров. По умолчанию 'moduleDir/controllers', где moduleDir — каталог, содержащий класс модуля. |
public function getControllerPath()
{
if($this->_controllerPath!==null)
return $this->_controllerPath;
else
return $this->_controllerPath=$this->getBasePath().DIRECTORY_SEPARATOR.'controllers';
}
getDescription() метод
public string getDescription() | ||
| {return} | string | описание этого модуля. |
public function getDescription()
{
return '';
}
Возвращает описание этого модуля. По умолчанию возвращает пустую строку. Вы можете переопределить этот метод для настройки описания модуля.
getLayoutPath() метод
public string getLayoutPath() | ||
| {return} | string | корневой каталог файлов макетов. По умолчанию 'moduleDir/views/layouts', где moduleDir — каталог, содержащий класс модуля. |
public function getLayoutPath()
{
if($this->_layoutPath!==null)
return $this->_layoutPath;
else
return $this->_layoutPath=$this->getViewPath().DIRECTORY_SEPARATOR.'layouts';
}
getName() метод
public string getName() | ||
| {return} | string | имя этого модуля. |
public function getName()
{
return basename($this->getId());
}
Возвращает имя этого модуля. По умолчанию возвращает id. Вы можете переопределить этот метод для настройки имени модуля.
getVersion() метод
public string getVersion() | ||
| {return} | string | версия этого модуля. |
public function getVersion()
{
return '1.0';
}
Возвращает версию этого модуля. По умолчанию возвращает '1.0'. Вы можете переопределить этот метод для настройки версии модуля.
getViewPath() метод
public string getViewPath() | ||
| {return} | string | корневой каталог файлов представлений. По умолчанию 'moduleDir/views', где moduleDir — каталог, содержащий класс модуля. |
public function getViewPath()
{
if($this->_viewPath!==null)
return $this->_viewPath;
else
return $this->_viewPath=$this->getBasePath().DIRECTORY_SEPARATOR.'views';
}
setControllerPath() метод
public void setControllerPath(string $value) | ||
| $value | string | каталог, содержащий классы контроллеров. |
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 | string | корневой каталог файлов макетов. |
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)));
}
setViewPath() метод
public void setViewPath(string $path) | ||
| $path | строка | корневая директория файлов представлений. |
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/CWebModule