CWebModule
包 | system.web |
---|---|
继承 | class CWebModule » CModule » CComponent |
子类 | GiiModule |
源码 | framework/web/CWebModule.php |
An application module may be considered as a self-contained sub-application that has its own controllers, models and views and can be reused in a different project as a whole. Controllers inside a module must be accessed with routes that are prefixed with the module ID.
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
basePath | string | 返回模块的根目录。 | CModule |
behaviors | array | the behaviors that should be attached to the module. | CModule |
components | array | 返回应用程序组件。 | CModule |
controllerMap | array | mapping from controller ID to controller configurations. | CWebModule |
controllerNamespace | string | Namespace that should be used when loading controllers. | CWebModule |
controllerPath | string | the directory that contains the controller classes. | CWebModule |
defaultController | string | the ID of the default controller for this module. | CWebModule |
description | string | Returns the description of this module. | CWebModule |
id | string | 返回模块的 ID。 | CModule |
layout | mixed | the layout that is shared by the controllers inside this module. | CWebModule |
layoutPath | string | the root directory of layout files. | CWebModule |
modulePath | string | Returns the directory that contains the application modules. | CModule |
modules | array | Returns the configuration of the currently installed modules. | CModule |
name | string | Returns the name of this module. | CWebModule |
params | CAttributeCollection | 返回用户定义的参数。 | CModule |
parentModule | CModule | 返回父模块。 | CModule |
preload | array | the IDs of the application components that should be preloaded. | CModule |
version | string | Returns the version of this module. | CWebModule |
viewPath | string | the root directory of view files. | CWebModule |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | 构造器。 | CModule |
__get() | Getter 魔术方法。 | CModule |
__isset() | 检查一个属性值是否为空。 | CModule |
__set() | Sets value of a component property. | CComponent |
__unset() | Sets a component property to be null. | CComponent |
afterControllerAction() | The post-filter for controller actions. | CWebModule |
asa() | Returns the named behavior object. | CComponent |
attachBehavior() | Attaches a behavior to this component. | CComponent |
attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
attachEventHandler() | Attaches an event handler to an event. | CComponent |
beforeControllerAction() | The pre-filter for controller actions. | CWebModule |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
configure() | Configures the module with the specified configuration. | CModule |
detachBehavior() | Detaches a behavior from the component. | CComponent |
detachBehaviors() | Detaches all behaviors from the component. | CComponent |
detachEventHandler() | Detaches an existing event handler. | CComponent |
disableBehavior() | Disables an attached behavior. | CComponent |
disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
enableBehavior() | Enables an attached behavior. | CComponent |
enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
getBasePath() | 返回模块的根目录。 | CModule |
getComponent() | Retrieves the named application component. | CModule |
getComponents() | 返回应用程序组件。 | CModule |
getControllerPath() | Returns the directory that contains the controller classes. Defaults to 'moduleDir/controllers' where moduleDir is the directory containing the module class. | CWebModule |
getDescription() | Returns the description of this module. | CWebModule |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getId() | 返回模块的 ID。 | CModule |
getLayoutPath() | Returns the root directory of layout files. Defaults to 'moduleDir/views/layouts' where moduleDir is the directory containing the module class. | CWebModule |
getModule() | 检索指定的应用程序模块。 | CModule |
getModulePath() | Returns the directory that contains the application modules. | CModule |
getModules() | Returns the configuration of the currently installed modules. | CModule |
getName() | Returns the name of this module. | CWebModule |
getParams() | 返回用户定义的参数。 | CModule |
getParentModule() | 返回父模块。 | CModule |
getVersion() | Returns the version of this module. | CWebModule |
getViewPath() | Returns the root directory of view files. Defaults to 'moduleDir/views' where moduleDir is the directory containing the module class. | CWebModule |
hasComponent() | Checks whether the named component exists. | CModule |
hasEvent() | Determines whether an event is defined. | CComponent |
hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
hasModule() | Returns a value indicating whether the specified module is installed. | CModule |
hasProperty() | Determines whether a property is defined. | CComponent |
raiseEvent() | Raises an event. | CComponent |
setAliases() | Defines the root aliases. | CModule |
setBasePath() | 设置模块的根目录。 | CModule |
setComponent() | Puts a component under the management of the module. | CModule |
setComponents() | 设置应用程序组件。 | CModule |
setControllerPath() | Sets the directory that contains the controller classes. | CWebModule |
setId() | 设置模块的 ID。 | CModule |
setImport() | 设置用于在模块中使用的别名。 | CModule |
setLayoutPath() | Sets the root directory of layout files. | CWebModule |
setModulePath() | Sets the directory that contains the application modules. | CModule |
setModules() | Configures the sub-modules of this module. | CModule |
setParams() | 设置用户定义的参数 | CModule |
setViewPath() | Sets the root directory of view files. | CWebModule |
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
init() | 初始化模块。 | CModule |
preinit() | Preinitializes the module. | CModule |
preloadComponents() | 加载静态应用程序组件。 | CModule |
属性详情
mapping from controller ID to controller configurations. Pleaser refer to CWebApplication::controllerMap for more details.
Namespace that should be used when loading controllers. Default is to use global namespace.
the directory that contains the controller classes. Defaults to 'moduleDir/controllers' where moduleDir is the directory containing the module class.
the ID of the default controller for this module. Defaults to 'default'.
Returns the description of this module. The default implementation returns an empty string. You may override this method to customize the description of this module.
the layout that is shared by the controllers inside this module. If a controller has explicitly declared its own layout, this property will be ignored. If this is null (default), the application's layout or the parent module's layout (if available) will be used. If this is false, then no layout will be used.
the root directory of layout files. Defaults to 'moduleDir/views/layouts' where moduleDir is the directory containing the module class.
Returns the name of this module. The default implementation simply returns id. You may override this method to customize the name of this module.
Returns the version of this module. The default implementation returns '1.0'. You may override this method to customize the version of this module.
the root directory of view files. Defaults to 'moduleDir/views' where moduleDir is the directory containing the module class.
方法详情
public void afterControllerAction(CController $controller, CAction $action)
| ||
$controller | CController | the controller |
$action | CAction | the action |
public function afterControllerAction($controller,$action)
{
if(($parent=$this->getParentModule())===null)
$parent=Yii::app();
$parent->afterControllerAction($controller,$action);
}
The post-filter for controller actions. This method is invoked after the currently requested controller action and all its filters are executed. If you override this method, make sure you call the parent implementation at the end.
public boolean beforeControllerAction(CController $controller, CAction $action)
| ||
$controller | CController | the controller |
$action | CAction | the action |
{return} | boolean | whether the action should be executed. |
public function beforeControllerAction($controller,$action)
{
if(($parent=$this->getParentModule())===null)
$parent=Yii::app();
return $parent->beforeControllerAction($controller,$action);
}
The pre-filter for controller actions. This method is invoked before the currently requested controller action and all its filters are executed. You may override this method in the following way:
if(parent::beforeControllerAction($controller,$action)) { // your code return true; } else return false;
public string getControllerPath()
| ||
{return} | string | the directory that contains the controller classes. Defaults to 'moduleDir/controllers' where moduleDir is the directory containing the module class. |
public function getControllerPath()
{
if($this->_controllerPath!==null)
return $this->_controllerPath;
else
return $this->_controllerPath=$this->getBasePath().DIRECTORY_SEPARATOR.'controllers';
}
public string getDescription()
| ||
{return} | string | the description of this module. |
Returns the description of this module. The default implementation returns an empty string. You may override this method to customize the description of this module.
public string getLayoutPath()
| ||
{return} | string | the root directory of layout files. Defaults to 'moduleDir/views/layouts' where moduleDir is the directory containing the module class. |
public function getLayoutPath()
{
if($this->_layoutPath!==null)
return $this->_layoutPath;
else
return $this->_layoutPath=$this->getViewPath().DIRECTORY_SEPARATOR.'layouts';
}
public string getName()
| ||
{return} | string | the name of this module. |
public function getName()
{
return basename($this->getId());
}
Returns the name of this module. The default implementation simply returns id. You may override this method to customize the name of this module.
public string getVersion()
| ||
{return} | string | the version of this module. |
Returns the version of this module. The default implementation returns '1.0'. You may override this method to customize the version of this module.
public string getViewPath()
| ||
{return} | string | the root directory of view files. Defaults to 'moduleDir/views' where moduleDir is the directory containing the module class. |
public function getViewPath()
{
if($this->_viewPath!==null)
return $this->_viewPath;
else
return $this->_viewPath=$this->getBasePath().DIRECTORY_SEPARATOR.'views';
}
public void setControllerPath(string $value)
| ||
$value | string | the directory that contains the controller classes. |
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)));
}
public void setLayoutPath(string $path)
| ||
$path | string | the root directory of layout files. |
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)));
}
public void setViewPath(string $path)
| ||
$path | string | the root directory of view files. |
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)));
}