Yii Framework v1.1.10 绫诲弬鑰

CController

system.web
缁ф壙 class CController » CBaseController » CComponent
瀛愮被 CCodeGenerator, CExtController
婧愯嚜 1.0
鐗堟湰 $Id: CController.php 3515 2011-12-28 12:29:24Z mdomba $
婧愮爜 framework/web/CController.php
CController manages a set of actions which deal with the corresponding user requests.

Through the actions, CController coordinates the data flow between models and views.

When a user requests an action 'XYZ', CController will do one of the following: 1. Method-based action: call method 'actionXYZ' if it exists; 2. Class-based action: create an instance of class 'XYZ' if the class is found in the action class map (specified via actions(), and execute the action; 3. Call missingAction(), which by default will raise a 404 HTTP exception.

If the user does not specify an action, CController will run the action specified by defaultAction, instead.

CController may be configured to execute filters before and after running actions. Filters preprocess/postprocess the user request/response and may quit executing actions if needed. They are executed in the order they are specified. If during the execution, any of the filters returns true, the rest filters and the action will no longer get executed.

Filters can be individual objects, or methods defined in the controller class. They are specified by overriding filters() method. The following is an example of the filter specification:
array(
    'accessControl - login',
    'ajaxOnly + search',
    array(
        'COutputCache + list',
        'duration'=>300,
    ),
)
The above example declares three filters: accessControl, ajaxOnly, COutputCache. The first two are method-based filters (defined in CController), which refer to filtering methods in the controller class; while the last refers to a object-based filter whose class is 'system.web.widgets.COutputCache' and the 'duration' property is initialized as 300 (s).

For method-based filters, a method named 'filterXYZ($filterChain)' in the controller class will be executed, where 'XYZ' stands for the filter name as specified in filters(). Note, inside the filter method, you must call $filterChain->run() if the action should be executed. Otherwise, the filtering process would stop at this filter.

Filters can be specified so that they are executed only when running certain actions. For method-based filters, this is done by using '+' and '-' operators in the filter specification. The '+' operator means the filter runs only when the specified actions are requested; while the '-' operator means the filter runs only when the requested action is not among those actions. For object-based filters, the '+' and '-' operators are following the class name.

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
action CAction the action currently being executed, null if no active action. CController
actionParams array Returns the request parameters that will be used for action parameter binding. CController
cachingStack CStack stack of COutputCache objects CController
clips CMap Returns the list of clips. CController
defaultAction string the name of the default action. CController
id string ID of the controller CController
layout mixed the name of the layout to be applied to this controller's views. CController
module CWebModule the module that this controller belongs to. CController
pageTitle string the page title. CController
route string the route (module ID, controller ID and action ID) of the current request. CController
uniqueId string the controller ID that is prefixed with the module ID (if any). CController
viewPath string Returns the directory containing view files for this controller. CController

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__construct() CController
__get() 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 CComponent
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆涓涓粍浠剁殑灞炴у笺 CComponent
__unset() 璁剧疆涓涓粍浠剁殑灞炴т负null銆 CComponent
accessRules() Returns the access rules for this controller. CController
actions() Returns a list of external action classes. CController
asa() 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° CComponent
attachBehavior() 闄勫姞涓涓涓哄埌缁勪欢銆 CComponent
attachBehaviors() 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 CComponent
attachEventHandler() 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 CComponent
beginCache() Begins fragment caching. CBaseController
beginClip() Begins recording a clip. CBaseController
beginContent() Begins the rendering of content that is to be decorated by the specified view. CBaseController
beginWidget() Creates a widget and executes it. CBaseController
behaviors() Returns a list of behaviors that this controller should behave as. CController
canGetProperty() 纭畾灞炴ф槸鍚﹀彲璇汇 CComponent
canSetProperty() 纭畾灞炴ф槸鍚﹀彲鍐欍 CComponent
clearPageStates() Removes all page states. CController
createAbsoluteUrl() Creates an absolute URL for the specified action defined in this controller. CController
createAction() Creates the action instance based on the action name. CController
createUrl() Creates a relative URL for the specified action defined in this controller. CController
createWidget() Creates a widget and initializes it. CBaseController
detachBehavior() 浠庣粍浠朵腑鍒嗙涓涓涓恒 CComponent
detachBehaviors() 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 CComponent
detachEventHandler() 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 CComponent
disableBehavior() 绂佺敤涓涓檮鍔犺涓恒 CComponent
disableBehaviors() 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
enableBehavior() 鍚敤涓涓檮鍔犺涓恒 CComponent
enableBehaviors() 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
endCache() Ends fragment caching. CBaseController
endClip() Ends recording a clip. CBaseController
endContent() Ends the rendering of content. CBaseController
endWidget() Ends the execution of the named widget. CBaseController
evaluateExpression() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
filterAccessControl() The filter method for 'accessControl' filter. CController
filterAjaxOnly() The filter method for 'ajaxOnly' filter. CController
filterPostOnly() The filter method for 'postOnly' filter. CController
filters() Returns the filter configurations. CController
forward() Processes the request using another controller action. CController
getAction() 杩斿洖the action currently being executed, null if no active action. CController
getActionParams() Returns the request parameters that will be used for action parameter binding. CController
getCachingStack() 杩斿洖stack of COutputCache objects CController
getClips() Returns the list of clips. CController
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getId() 杩斿洖ID of the controller CController
getLayoutFile() Looks for the layout view script based on the layout name. CController
getModule() 杩斿洖the module that this controller belongs to. It returns null if the controller does not belong to any module CController
getPageState() Returns a persistent page state value. CController
getPageTitle() 杩斿洖the page title. Defaults to the controller name and the action name. CController
getRoute() 杩斿洖the route (module ID, controller ID and action ID) of the current request. CController
getUniqueId() 杩斿洖the controller ID that is prefixed with the module ID (if any). CController
getViewFile() Looks for the view file according to the given view name. CController
getViewPath() Returns the directory containing view files for this controller. CController
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
init() Initializes the controller. CController
invalidActionParams() This method is invoked when the request parameters do not satisfy the requirement of the specified action. CController
isCachingStackEmpty() Returns whether the caching stack is empty. CController
missingAction() Handles the request whose action is not recognized. CController
processDynamicOutput() Postprocesses the dynamic output. CController
processOutput() Postprocesses the output generated by render(). CController
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
recordCachingAction() Records a method call when an output cache is in effect. CController
redirect() Redirects the browser to the specified URL or route (controller/action). CController
refresh() Refreshes the current page. CController
render() Renders a view with a layout. CController
renderClip() Renders a named clip with the supplied parameters. CController
renderDynamic() Renders dynamic content returned by the specified callback. CController
renderDynamicInternal() This method is internally used. CController
renderFile() Renders a view file. CBaseController
renderInternal() Renders a view file. CBaseController
renderPartial() Renders a view. CController
renderText() Renders a static text string. CController
resolveViewFile() Finds a view file based on its name. CController
run() Runs the named action. CController
runAction() Runs the action after passing through all filters. CController
runActionWithFilters() Runs an action with the specified filters. CController
setAction() 璁剧疆the action currently being executed. CController
setPageState() Saves a persistent page state value. CController
setPageTitle() 璁剧疆the page title. CController
widget() Creates a widget and executes it. CBaseController

鍙椾繚鎶ゆ柟娉

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
afterAction() This method is invoked right after an action is executed. CController
afterRender() This method is invoked after the specified is rendered by calling render(). CController
beforeAction() This method is invoked right before an action is to be executed (after all possible filters.) CController
beforeRender() This method is invoked at the beginning of render(). CController
createActionFromMap() Creates the action instance based on the action map. CController
loadPageStates() Loads page states from a hidden input. CController
replaceDynamicOutput() Replaces the dynamic content placeholders with actual content. CController
savePageStates() Saves page states as a base64 string. CController

灞炴ц缁

action 灞炴
public CAction getAction()
public void setAction(CAction $value)

the action currently being executed, null if no active action.

actionParams 灞炴 鍙 锛堝彲鐢ㄨ嚜 v1.1.7锛
public array getActionParams()

Returns the request parameters that will be used for action parameter binding. By default, this method will return $_GET. You may override this method if you want to use other request parameters (e.g. $_GET+$_POST).

cachingStack 灞炴 鍙
public CStack getCachingStack(boolean $createIfNull=true)

stack of COutputCache objects

clips 灞炴 鍙
public CMap getClips()

Returns the list of clips. A clip is a named piece of rendering result that can be inserted at different places.

鍙傝

defaultAction 灞炴
public string $defaultAction;

the name of the default action. Defaults to 'index'.

id 灞炴 鍙
public string getId()

ID of the controller

layout 灞炴
public mixed $layout;

the name of the layout to be applied to this controller's views. Defaults to null, meaning the application layout is used. If it is false, no layout will be applied. The module layout will be used if the controller belongs to a module and this layout property is null.

module 灞炴 鍙

the module that this controller belongs to. It returns null if the controller does not belong to any module

pageTitle 灞炴
public string getPageTitle()
public void setPageTitle(string $value)

the page title. Defaults to the controller name and the action name.

route 灞炴 鍙 锛堝彲鐢ㄨ嚜 v1.1.0锛
public string getRoute()

the route (module ID, controller ID and action ID) of the current request.

uniqueId 灞炴 鍙
public string getUniqueId()

the controller ID that is prefixed with the module ID (if any).

viewPath 灞炴 鍙
public string getViewPath()

Returns the directory containing view files for this controller. The default implementation returns 'protected/views/ControllerID'. Child classes may override this method to use customized view path. If the controller belongs to a module, the default view path is the module view path appended with the controller ID.

鏂规硶璇︾粏

__construct() 鏂规硶
public void __construct(string $id, CWebModule $module=NULL)
$id string id of this controller
$module CWebModule the module that this controller belongs to.
婧愮爜锛 framework/web/CController.php#111 (鏄剧ず)
public function __construct($id,$module=null)
{
    
$this->_id=$id;
    
$this->_module=$module;
    
$this->attachBehaviors($this->behaviors());
}

accessRules() 鏂规硶
public array accessRules()
{return} array list of access rules. See CAccessControlFilter for details about rule specification.
婧愮爜锛 framework/web/CController.php#244 (鏄剧ず)
public function accessRules()
{
    return array();
}

Returns the access rules for this controller. Override this method if you use the accessControl filter.

actions() 鏂规硶
public array actions()
{return} array list of external action classes
婧愮爜锛 framework/web/CController.php#209 (鏄剧ず)
public function actions()
{
    return array();
}

Returns a list of external action classes. Array keys are action IDs, and array values are the corresponding action class in dot syntax (e.g. 'edit'=>'application.controllers.article.EditArticle') or arrays representing the configuration of the actions, such as the following,

return array(
    'action1'=>'path.to.Action1Class',
    'action2'=>array(
        'class'=>'path.to.Action2Class',
        'property1'=>'value1',
        'property2'=>'value2',
    ),
);
Derived classes may override this method to declare external actions.

Note, in order to inherit actions defined in the parent class, a child class needs to merge the parent actions with child actions using functions like array_merge().

You may import actions from an action provider (such as a widget, see CWidget::actions), like the following:
return array(
    ...other actions...
    // import actions declared in ProviderClass::actions()
    // the action IDs will be prefixed with 'pro.'
    'pro.'=>'path.to.ProviderClass',
    // similar as above except that the imported actions are
    // configured with the specified initial property values
    'pro2.'=>array(
        'class'=>'path.to.ProviderClass',
        'action1'=>array(
            'property1'=>'value1',
        ),
        'action2'=>array(
            'property2'=>'value2',
        ),
    ),
)


In the above, we differentiate action providers from other action declarations by the array keys. For action providers, the array keys must contain a dot. As a result, an action ID 'pro2.action1' will be resolved as the 'action1' action declared in the 'ProviderClass'.

鍙傝

afterAction() 鏂规硶
protected void afterAction(CAction $action)
$action CAction the action just executed.
婧愮爜锛 framework/web/CController.php#1104 (鏄剧ず)
protected function afterAction($action)
{
}

This method is invoked right after an action is executed. You may override this method to do some postprocessing for the action.

afterRender() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.5锛
protected void afterRender(string $view, string &$output)
$view string the view that has been rendered
$output string the rendering result of the view. Note that this parameter is passed as a reference. That means you can modify it within this method.
婧愮爜锛 framework/web/CController.php#819 (鏄剧ず)
protected function afterRender($view, &$output)
{
}

This method is invoked after the specified is rendered by calling render(). Note that this method is invoked BEFORE processOutput(). You may override this method to do some postprocessing for the view rendering.

beforeAction() 鏂规硶
protected boolean beforeAction(CAction $action)
$action CAction the action to be executed.
{return} boolean whether the action should be executed.
婧愮爜锛 framework/web/CController.php#1094 (鏄剧ず)
protected function beforeAction($action)
{
    return 
true;
}

This method is invoked right before an action is to be executed (after all possible filters.) You may override this method to do last-minute preparation for the action.

beforeRender() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.5锛
protected boolean beforeRender(string $view)
$view string the view to be rendered
{return} boolean whether the view should be rendered.
婧愮爜锛 framework/web/CController.php#805 (鏄剧ず)
protected function beforeRender($view)
{
    return 
true;
}

This method is invoked at the beginning of render(). You may override this method to do some preprocessing when rendering a view.

behaviors() 鏂规硶
public array behaviors()
{return} array the behavior configurations (behavior name=>behavior configuration)
婧愮爜锛 framework/web/CController.php#234 (鏄剧ず)
public function behaviors()
{
    return array();
}

Returns a list of behaviors that this controller should behave as. The return value should be an array of behavior configurations indexed by behavior names. Each behavior configuration can be either a string specifying the behavior class or an array of the following structure:

'behaviorName'=>array(
    'class'=>'path.to.BehaviorClass',
    'property1'=>'value1',
    'property2'=>'value2',
)


Note, the behavior classes must implement IBehavior or extend from CBehavior. Behaviors declared in this method will be attached to the controller when it is instantiated.

For more details about behaviors, see CComponent.

clearPageStates() 鏂规硶
public void clearPageStates()
婧愮爜锛 framework/web/CController.php#1195 (鏄剧ず)
public function clearPageStates()
{
    
$this->_pageStates=array();
}

Removes all page states.

createAbsoluteUrl() 鏂规硶
public string createAbsoluteUrl(string $route, array $params=array ( ), string $schema='', string $ampersand='&')
$route string the URL route. This should be in the format of 'ControllerID/ActionID'. If the ControllerPath is not present, the current controller ID will be prefixed to the route. If the route is empty, it is assumed to be the current action.
$params array additional GET parameters (name=>value). Both the name and value will be URL-encoded.
$schema string schema to use (e.g. http, https). If empty, the schema used for the current request will be used.
$ampersand string the token separating name-value pairs in the URL.
{return} string the constructed URL
婧愮爜锛 framework/web/CController.php#981 (鏄剧ず)
public function createAbsoluteUrl($route,$params=array(),$schema='',$ampersand='&')
{
    
$url=$this->createUrl($route,$params,$ampersand);
    if(
strpos($url,'http')===0)
        return 
$url;
    else
        return 
Yii::app()->getRequest()->getHostInfo($schema).$url;
}

Creates an absolute URL for the specified action defined in this controller.

createAction() 鏂规硶
public CAction createAction(string $actionID)
$actionID string ID of the action. If empty, the default action will be used.
{return} CAction the action instance, null if the action does not exist.
婧愮爜锛 framework/web/CController.php#410 (鏄剧ず)
public function createAction($actionID)
{
    if(
$actionID==='')
        
$actionID=$this->defaultAction;
    if(
method_exists($this,'action'.$actionID) && strcasecmp($actionID,'s')) // we have actions method
        
return new CInlineAction($this,$actionID);
    else
    {
        
$action=$this->createActionFromMap($this->actions(),$actionID,$actionID);
        if(
$action!==null && !method_exists($action,'run'))
            throw new 
CException(Yii::t('yii''Action class {class} must implement the "run" method.', array('{class}'=>get_class($action))));
        return 
$action;
    }
}

Creates the action instance based on the action name. The action can be either an inline action or an object. The latter is created by looking up the action map specified in actions.

鍙傝

createActionFromMap() 鏂规硶
protected CAction createActionFromMap(array $actionMap, string $actionID, string $requestActionID, array $config=array ( ))
$actionMap array the action map
$actionID string the action ID that has its prefix stripped off
$requestActionID string the originally requested action ID
$config array the action configuration that should be applied on top of the configuration specified in the map
{return} CAction the action instance, null if the action does not exist.
婧愮爜锛 framework/web/CController.php#436 (鏄剧ず)
protected function createActionFromMap($actionMap,$actionID,$requestActionID,$config=array())
{
    if((
$pos=strpos($actionID,'.'))===false && isset($actionMap[$actionID]))
    {
        
$baseConfig=is_array($actionMap[$actionID]) ? $actionMap[$actionID] : array('class'=>$actionMap[$actionID]);
        return 
Yii::createComponent(empty($config)?$baseConfig:array_merge($baseConfig,$config),$this,$requestActionID);
    }
    else if(
$pos===false)
        return 
null;

    
// the action is defined in a provider
    
$prefix=substr($actionID,0,$pos+1);
    if(!isset(
$actionMap[$prefix]))
        return 
null;
    
$actionID=(string)substr($actionID,$pos+1);

    
$provider=$actionMap[$prefix];
    if(
is_string($provider))
        
$providerType=$provider;
    else if(
is_array($provider) && isset($provider['class']))
    {
        
$providerType=$provider['class'];
        if(isset(
$provider[$actionID]))
        {
            if(
is_string($provider[$actionID]))
                
$config=array_merge(array('class'=>$provider[$actionID]),$config);
            else
                
$config=array_merge($provider[$actionID],$config);
        }
    }
    else
        throw new 
CException(Yii::t('yii','Object configuration must be an array containing a "class" element.'));

    
$class=Yii::import($providerType,true);
    
$map=call_user_func(array($class,'actions'));

    return 
$this->createActionFromMap($map,$actionID,$requestActionID,$config);
}

Creates the action instance based on the action map. This method will check to see if the action ID appears in the given action map. If so, the corresponding configuration will be used to create the action instance.

createUrl() 鏂规硶
public string createUrl(string $route, array $params=array ( ), string $ampersand='&')
$route string the URL route. This should be in the format of 'ControllerID/ActionID'. If the ControllerID is not present, the current controller ID will be prefixed to the route. If the route is empty, it is assumed to be the current action. If the controller belongs to a module, the module ID will be prefixed to the route. (If you do not want the module ID prefix, the route should start with a slash '/'.)
$params array additional GET parameters (name=>value). Both the name and value will be URL-encoded. If the name is '#', the corresponding value will be treated as an anchor and will be appended at the end of the URL.
$ampersand string the token separating name-value pairs in the URL.
{return} string the constructed URL
婧愮爜锛 framework/web/CController.php#960 (鏄剧ず)
public function createUrl($route,$params=array(),$ampersand='&')
{
    if(
$route==='')
        
$route=$this->getId().'/'.$this->getAction()->getId();
    else if(
strpos($route,'/')===false)
        
$route=$this->getId().'/'.$route;
    if(
$route[0]!=='/' && ($module=$this->getModule())!==null)
        
$route=$module->getId().'/'.$route;
    return 
Yii::app()->createUrl(trim($route,'/'),$params,$ampersand);
}

Creates a relative URL for the specified action defined in this controller.

filterAccessControl() 鏂规硶
public void filterAccessControl(CFilterChain $filterChain)
$filterChain CFilterChain the filter chain that the filter is on.
婧愮爜锛 framework/web/CController.php#1142 (鏄剧ず)
public function filterAccessControl($filterChain)
{
    
$filter=new CAccessControlFilter;
    
$filter->setRules($this->accessRules());
    
$filter->filter($filterChain);
}

The filter method for 'accessControl' filter. This filter is a wrapper of CAccessControlFilter. To use this filter, you must override accessRules method.

filterAjaxOnly() 鏂规硶
public void filterAjaxOnly(CFilterChain $filterChain)
$filterChain CFilterChain the filter chain that the filter is on.
婧愮爜锛 framework/web/CController.php#1128 (鏄剧ず)
public function filterAjaxOnly($filterChain)
{
    if(
Yii::app()->getRequest()->getIsAjaxRequest())
        
$filterChain->run();
    else
        throw new 
CHttpException(400,Yii::t('yii','Your request is invalid.'));
}

The filter method for 'ajaxOnly' filter. This filter reports an error if the applied action is receiving a non-AJAX request.

filterPostOnly() 鏂规硶
public void filterPostOnly(CFilterChain $filterChain)
$filterChain CFilterChain the filter chain that the filter is on.
婧愮爜锛 framework/web/CController.php#1114 (鏄剧ず)
public function filterPostOnly($filterChain)
{
    if(
Yii::app()->getRequest()->getIsPostRequest())
        
$filterChain->run();
    else
        throw new 
CHttpException(400,Yii::t('yii','Your request is invalid.'));
}

The filter method for 'postOnly' filter. This filter reports an error if the applied action is receiving a non-POST request.

filters() 鏂规硶
public array filters()
{return} array a list of filter configurations.
婧愮爜锛 framework/web/CController.php#154 (鏄剧ず)
public function filters()
{
    return array();
}

Returns the filter configurations.

By overriding this method, child classes can specify filters to be applied to actions.

This method returns an array of filter specifications. Each array element specify a single filter.

For a method-based filter (called inline filter), it is specified as 'FilterName[ +|- Action1, Action2, ...]', where the '+' ('-') operators describe which actions should be (should not be) applied with the filter.

For a class-based filter, it is specified as an array like the following:

array(
    'FilterClass[ +|- Action1, Action2, ...]',
    'name1'=>'value1',
    'name2'=>'value2',
    ...
)
where the name-value pairs will be used to initialize the properties of the filter.

Note, in order to inherit filters defined in the parent class, a child class needs to merge the parent filters with child filters using functions like array_merge().

鍙傝

forward() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.0锛
public void forward(string $route, boolean $exit=true)
$route string the route of the new controller action. This can be an action ID, or a complete route with module ID (optional in the current module), controller ID and action ID. If the former, the action is assumed to be located within the current controller.
$exit boolean whether to end the application after this call. Defaults to true.
婧愮爜锛 framework/web/CController.php#745 (鏄剧ず)
public function forward($route,$exit=true)
{
    if(
strpos($route,'/')===false)
        
$this->run($route);
    else
    {
        if(
$route[0]!=='/' && ($module=$this->getModule())!==null)
            
$route=$module->getId().'/'.$route;
        
Yii::app()->runController($route);
    }
    if(
$exit)
        
Yii::app()->end();
}

Processes the request using another controller action. This is like redirect, but the user browser's URL remains unchanged. In most cases, you should call redirect instead of this method.

getAction() 鏂规硶
public CAction getAction()
{return} CAction the action currently being executed, null if no active action.
婧愮爜锛 framework/web/CController.php#491 (鏄剧ず)
public function getAction()
{
    return 
$this->_action;
}

getActionParams() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.7锛
public array getActionParams()
{return} array the request parameters to be used for action parameter binding
婧愮爜锛 framework/web/CController.php#324 (鏄剧ず)
public function getActionParams()
{
    return 
$_GET;
}

Returns the request parameters that will be used for action parameter binding. By default, this method will return $_GET. You may override this method if you want to use other request parameters (e.g. $_GET+$_POST).

getCachingStack() 鏂规硶
public CStack getCachingStack(boolean $createIfNull=true)
$createIfNull boolean whether to create a stack if it does not exist yet. Defaults to true.
{return} CStack stack of COutputCache objects
婧愮爜锛 framework/web/CController.php#1070 (鏄剧ず)
public function getCachingStack($createIfNull=true)
{
    if(!
$this->_cachingStack)
        
$this->_cachingStack=new CStack;
    return 
$this->_cachingStack;
}

getClips() 鏂规硶
public CMap getClips()
{return} CMap the list of clips
婧愮爜锛 framework/web/CController.php#727 (鏄剧ず)
public function getClips()
{
    if(
$this->_clips!==null)
        return 
$this->_clips;
    else
        return 
$this->_clips=new CMap;
}

Returns the list of clips. A clip is a named piece of rendering result that can be inserted at different places.

鍙傝

getId() 鏂规硶
public string getId()
{return} string ID of the controller
婧愮爜锛 framework/web/CController.php#507 (鏄剧ず)
public function getId()
{
    return 
$this->_id;
}

getLayoutFile() 鏂规硶
public string getLayoutFile(mixed $layoutName)
$layoutName mixed layout name
{return} string the view file for the layout. False if the view file cannot be found
婧愮爜锛 framework/web/CController.php#634 (鏄剧ず)
public function getLayoutFile($layoutName)
{
    if(
$layoutName===false)
        return 
false;
    if((
$theme=Yii::app()->getTheme())!==null && ($layoutFile=$theme->getLayoutFile($this,$layoutName))!==false)
        return 
$layoutFile;

    if(empty(
$layoutName))
    {
        
$module=$this->getModule();
        while(
$module!==null)
        {
            if(
$module->layout===false)
                return 
false;
            if(!empty(
$module->layout))
                break;
            
$module=$module->getParentModule();
        }
        if(
$module===null)
            
$module=Yii::app();
        
$layoutName=$module->layout;
    }
    else if((
$module=$this->getModule())===null)
        
$module=Yii::app();

    return 
$this->resolveViewFile($layoutName,$module->getLayoutPath(),Yii::app()->getViewPath(),$module->getViewPath());
}

Looks for the layout view script based on the layout name.

The layout name can be specified in one of the following ways:



The resolution of the view file based on the layout view is similar to that in getViewFile. In particular, the following rules are followed:

Otherwise, this method will return the corresponding view file based on the following criteria:

After the view file is identified, this method may further call CApplication::findLocalizedFile to find its localized version if internationalization is needed.

getModule() 鏂规硶
public CWebModule getModule()
{return} CWebModule the module that this controller belongs to. It returns null if the controller does not belong to any module
婧愮爜锛 framework/web/CController.php#536 (鏄剧ず)
public function getModule()
{
    return 
$this->_module;
}

getPageState() 鏂规硶
public mixed getPageState(string $name, mixed $defaultValue=NULL)
$name string the state name
$defaultValue mixed the value to be returned if the named state is not found
{return} mixed the page state value
婧愮爜锛 framework/web/CController.php#1160 (鏄剧ず)
public function getPageState($name,$defaultValue=null)
{
    if(
$this->_pageStates===null)
        
$this->_pageStates=$this->loadPageStates();
    return isset(
$this->_pageStates[$name])?$this->_pageStates[$name]:$defaultValue;
}

Returns a persistent page state value. A page state is a variable that is persistent across POST requests of the same page. In order to use persistent page states, the form(s) must be stateful which are generated using CHtml::statefulForm.

getPageTitle() 鏂规硶
public string getPageTitle()
{return} string the page title. Defaults to the controller name and the action name.
婧愮爜锛 framework/web/CController.php#993 (鏄剧ず)
public function getPageTitle()
{
    if(
$this->_pageTitle!==null)
        return 
$this->_pageTitle;
    else
    {
        
$name=ucfirst(basename($this->getId()));
        if(
$this->getAction()!==null && strcasecmp($this->getAction()->getId(),$this->defaultAction))
            return 
$this->_pageTitle=Yii::app()->name.' - '.ucfirst($this->getAction()->getId()).' '.$name;
        else
            return 
$this->_pageTitle=Yii::app()->name.' - '.$name;
    }
}

getRoute() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.0锛
public string getRoute()
{return} string the route (module ID, controller ID and action ID) of the current request.
婧愮爜锛 framework/web/CController.php#524 (鏄剧ず)
public function getRoute()
{
    if((
$action=$this->getAction())!==null)
        return 
$this->getUniqueId().'/'.$action->getId();
    else
        return 
$this->getUniqueId();
}

getUniqueId() 鏂规硶
public string getUniqueId()
{return} string the controller ID that is prefixed with the module ID (if any).
婧愮爜锛 framework/web/CController.php#515 (鏄剧ず)
public function getUniqueId()
{
    return 
$this->_module $this->_module->getId().'/'.$this->_id $this->_id;
}

getViewFile() 鏂规硶
public string getViewFile(string $viewName)
$viewName string view name
{return} string the view file path, false if the view file does not exist
婧愮爜锛 framework/web/CController.php#585 (鏄剧ず)
public function getViewFile($viewName)
{
    if((
$theme=Yii::app()->getTheme())!==null && ($viewFile=$theme->getViewFile($this,$viewName))!==false)
        return 
$viewFile;
    
$moduleViewPath=$basePath=Yii::app()->getViewPath();
    if((
$module=$this->getModule())!==null)
        
$moduleViewPath=$module->getViewPath();
    return 
$this->resolveViewFile($viewName,$this->getViewPath(),$basePath,$moduleViewPath);
}

Looks for the view file according to the given view name.

When a theme is currently active, this method will call CTheme::getViewFile to determine which view file should be returned.

Otherwise, this method will return the corresponding view file based on the following criteria:



After the view file is identified, this method may further call CApplication::findLocalizedFile to find its localized version if internationalization is needed.

getViewPath() 鏂规硶
public string getViewPath()
{return} string the directory containing the view files for this controller. Defaults to 'protected/views/ControllerID'.
婧愮爜锛 framework/web/CController.php#549 (鏄剧ず)
public function getViewPath()
{
    if((
$module=$this->getModule())===null)
        
$module=Yii::app();
    return 
$module->getViewPath().DIRECTORY_SEPARATOR.$this->getId();
}

Returns the directory containing view files for this controller. The default implementation returns 'protected/views/ControllerID'. Child classes may override this method to use customized view path. If the controller belongs to a module, the default view path is the module view path appended with the controller ID.

init() 鏂规硶
public void init()
婧愮爜锛 framework/web/CController.php#123 (鏄剧ず)
public function init()
{
}

Initializes the controller. This method is called by the application before the controller starts to execute. You may override this method to perform the needed initialization for the controller.

invalidActionParams() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.7锛
public void invalidActionParams(CAction $action)
$action CAction the action being executed
婧愮爜锛 framework/web/CController.php#335 (鏄剧ず)
public function invalidActionParams($action)
{
    throw new 
CHttpException(400,Yii::t('yii','Your request is invalid.'));
}

This method is invoked when the request parameters do not satisfy the requirement of the specified action. The default implementation will throw a 400 HTTP exception.

isCachingStackEmpty() 鏂规硶
public boolean isCachingStackEmpty()
{return} boolean whether the caching stack is empty. If not empty, it means currently there are some output cache in effect. Note, the return result of this method may change when it is called in different output regions, depending on the partition of output caches.
婧愮爜锛 framework/web/CController.php#1083 (鏄剧ず)
public function isCachingStackEmpty()
{
    return 
$this->_cachingStack===null || !$this->_cachingStack->getCount();
}

Returns whether the caching stack is empty.

loadPageStates() 鏂规硶
protected array loadPageStates()
{return} array the loaded page states
婧愮爜锛 framework/web/CController.php#1204 (鏄剧ず)
protected function loadPageStates()
{
    if(!empty(
$_POST[self::STATE_INPUT_NAME]))
    {
        if((
$data=base64_decode($_POST[self::STATE_INPUT_NAME]))!==false)
        {
            if(
extension_loaded('zlib'))
                
$data=@gzuncompress($data);
            if((
$data=Yii::app()->getSecurityManager()->validateData($data))!==false)
                return 
unserialize($data);
        }
    }
    return array();
}

Loads page states from a hidden input.

missingAction() 鏂规硶
public void missingAction(string $actionID)
$actionID string the missing action name
婧愮爜锛 framework/web/CController.php#482 (鏄剧ず)
public function missingAction($actionID)
{
    throw new 
CHttpException(404,Yii::t('yii','The system is unable to find the requested action "{action}".',
        array(
'{action}'=>$actionID==''?$this->defaultAction:$actionID)));
}

Handles the request whose action is not recognized. This method is invoked when the controller cannot find the requested action. The default implementation simply throws an exception.

processDynamicOutput() 鏂规硶
public string processDynamicOutput(string $output)
$output string output to be processed
{return} string the processed output
婧愮爜锛 framework/web/CController.php#375 (鏄剧ず)
public function processDynamicOutput($output)
{
    if(
$this->_dynamicOutput)
    {
        
$output=preg_replace_callback('/<###dynamic-(\d+)###>/',array($this,'replaceDynamicOutput'),$output);
    }
    return 
$output;
}

Postprocesses the dynamic output. This method is internally used. Do not call this method directly.

processOutput() 鏂规硶
public string processOutput(string $output)
$output string the output generated by the current action
{return} string the output that has been processed.
婧愮爜锛 framework/web/CController.php#350 (鏄剧ず)
public function processOutput($output)
{
    
Yii::app()->getClientScript()->render($output);

    
// if using page caching, we should delay dynamic output replacement
    
if($this->_dynamicOutput!==null && $this->isCachingStackEmpty())
    {
        
$output=$this->processDynamicOutput($output);
        
$this->_dynamicOutput=null;
    }

    if(
$this->_pageStates===null)
        
$this->_pageStates=$this->loadPageStates();
    if(!empty(
$this->_pageStates))
        
$this->savePageStates($this->_pageStates,$output);

    return 
$output;
}

Postprocesses the output generated by render(). This method is invoked at the end of render() and renderText(). If there are registered client scripts, this method will insert them into the output at appropriate places. If there are dynamic contents, they will also be inserted. This method may also save the persistent page states in hidden fields of stateful forms in the page.

recordCachingAction() 鏂规硶
public void recordCachingAction(string $context, string $method, array $params)
$context string a property name of the controller. It refers to an object whose method is being called. If empty it means the controller itself.
$method string the method name
$params array parameters passed to the method
婧愮爜锛 framework/web/CController.php#1057 (鏄剧ず)
public function recordCachingAction($context,$method,$params)
{
    if(
$this->_cachingStack// record only when there is an active output cache
    
{
        foreach(
$this->_cachingStack as $cache)
            
$cache->recordAction($context,$method,$params);
    }
}

Records a method call when an output cache is in effect. When the content is served from the output cache, the recorded method will be re-invoked.

鍙傝

redirect() 鏂规硶
public void redirect(mixed $url, boolean $terminate=true, integer $statusCode=302)
$url mixed the URL to be redirected to. If the parameter is an array, the first element must be a route to a controller action and the rest are GET parameters in name-value pairs.
$terminate boolean whether to terminate the current application after calling this method
$statusCode integer the HTTP status code. Defaults to 302. See http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html for details about HTTP status code.
婧愮爜锛 framework/web/CController.php#1024 (鏄剧ず)
public function redirect($url,$terminate=true,$statusCode=302)
{
    if(
is_array($url))
    {
        
$route=isset($url[0]) ? $url[0] : '';
        
$url=$this->createUrl($route,array_splice($url,1));
    }
    
Yii::app()->getRequest()->redirect($url,$terminate,$statusCode);
}

Redirects the browser to the specified URL or route (controller/action).

refresh() 鏂规硶
public void refresh(boolean $terminate=true, string $anchor='')
$terminate boolean whether to terminate the current application after calling this method
$anchor string the anchor that should be appended to the redirection URL. Defaults to empty. Make sure the anchor starts with '#' if you want to specify it.
婧愮爜锛 framework/web/CController.php#1042 (鏄剧ず)
public function refresh($terminate=true,$anchor='')
{
    
$this->redirect(Yii::app()->getRequest()->getUrl().$anchor,$terminate);
}

Refreshes the current page. The effect of this method call is the same as user pressing the refresh button on the browser (without post data).

render() 鏂规硶
public string render(string $view, array $data=NULL, boolean $return=false)
$view string name of the view to be rendered. See getViewFile for details about how the view script is resolved.
$data array data to be extracted into PHP variables and made available to the view script
$return boolean whether the rendering result should be returned instead of being displayed to end users.
{return} string the rendering result. Null if the rendering result is not required.
婧愮爜锛 framework/web/CController.php#779 (鏄剧ず)
public function render($view,$data=null,$return=false)
{
    if(
$this->beforeRender($view))
    {
        
$output=$this->renderPartial($view,$data,true);
        if((
$layoutFile=$this->getLayoutFile($this->layout))!==false)
            
$output=$this->renderFile($layoutFile,array('content'=>$output),true);

        
$this->afterRender($view,$output);

        
$output=$this->processOutput($output);

        if(
$return)
            return 
$output;
        else
            echo 
$output;
    }
}

Renders a view with a layout.

This method first calls renderPartial to render the view (called content view). It then renders the layout view which may embed the content view at appropriate place. In the layout view, the content view rendering result can be accessed via variable $content. At the end, it calls processOutput to insert scripts and dynamic contents if they are available.

By default, the layout view script is "protected/views/layouts/main.php". This may be customized by changing layout.

renderClip() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.8锛
public mixed renderClip(string $name, array $params=array ( ), boolean $return=false)
$name string the name of the clip
$params array an array of named parameters (name=>value) that should replace their corresponding placeholders in the clip
$return boolean whether to return the clip content or echo it.
{return} mixed either the clip content or null
婧愮爜锛 framework/web/CController.php#895 (鏄剧ず)
public function renderClip($name,$params=array(),$return=false)
{
    
$text=isset($this->clips[$name]) ? strtr($this->clips[$name], $params) : '';

    if(
$return)
        return 
$text;
    else
        echo 
$text;
}

Renders a named clip with the supplied parameters. This is similar to directly accessing the clips property. The main difference is that it can take an array of named parameters which will replace the corresponding placeholders in the clip.

renderDynamic() 鏂规硶
public void renderDynamic(callback $callback)
$callback callback a PHP callback which returns the needed dynamic content. When the callback is specified as a string, it will be first assumed to be a method of the current controller class. If the method does not exist, it is assumed to be a global PHP function. Note, the callback should return the dynamic content instead of echoing it.
婧愮爜锛 framework/web/CController.php#924 (鏄剧ず)
public function renderDynamic($callback)
{
    
$n=count($this->_dynamicOutput);
    echo 
"<###dynamic-$n###>";
    
$params=func_get_args();
    
array_shift($params);
    
$this->renderDynamicInternal($callback,$params);
}

Renders dynamic content returned by the specified callback. This method is used together with COutputCache. Dynamic contents will always show as their latest state even if the content surrounding them is being cached. This is especially useful when caching pages that are mostly static but contain some small dynamic regions, such as username or current time. We can use this method to render these dynamic regions to ensure they are always up-to-date.

The first parameter to this method should be a valid PHP callback, while the rest parameters will be passed to the callback.

Note, the callback and its parameter values will be serialized and saved in cache. Make sure they are serializable.

renderDynamicInternal() 鏂规硶
public void renderDynamicInternal(callback $callback, array $params)
$callback callback a PHP callback which returns the needed dynamic content.
$params array parameters passed to the PHP callback
婧愮爜锛 framework/web/CController.php#939 (鏄剧ず)
public function renderDynamicInternal($callback,$params)
{
    
$this->recordCachingAction('','renderDynamicInternal',array($callback,$params));
    if(
is_string($callback) && method_exists($this,$callback))
        
$callback=array($this,$callback);
    
$this->_dynamicOutput[]=call_user_func_array($callback,$params);
}

This method is internally used.

鍙傝

renderPartial() 鏂规硶
public string renderPartial(string $view, array $data=NULL, boolean $return=false, boolean $processOutput=false)
$view string name of the view to be rendered. See getViewFile for details about how the view script is resolved.
$data array data to be extracted into PHP variables and made available to the view script
$return boolean whether the rendering result should be returned instead of being displayed to end users
$processOutput boolean whether the rendering result should be postprocessed using processOutput.
{return} string the rendering result. Null if the rendering result is not required.
婧愮爜锛 framework/web/CController.php#866 (鏄剧ず)
public function renderPartial($view,$data=null,$return=false,$processOutput=false)
{
    if((
$viewFile=$this->getViewFile($view))!==false)
    {
        
$output=$this->renderFile($viewFile,$data,true);
        if(
$processOutput)
            
$output=$this->processOutput($output);
        if(
$return)
            return 
$output;
        else
            echo 
$output;
    }
    else
        throw new 
CException(Yii::t('yii','{controller} cannot find the requested view "{view}".',
            array(
'{controller}'=>get_class($this), '{view}'=>$view)));
}

Renders a view.

The named view refers to a PHP script (resolved via getViewFile) that is included by this method. If $data is an associative array, it will be extracted as PHP variables and made available to the script.

This method differs from render() in that it does not apply a layout to the rendered result. It is thus mostly used in rendering a partial view, or an AJAX response.

renderText() 鏂规硶
public string renderText(string $text, boolean $return=false)
$text string the static text string
$return boolean whether the rendering result should be returned instead of being displayed to end users.
{return} string the rendering result. Null if the rendering result is not required.
婧愮爜锛 framework/web/CController.php#831 (鏄剧ず)
public function renderText($text,$return=false)
{
    if((
$layoutFile=$this->getLayoutFile($this->layout))!==false)
        
$text=$this->renderFile($layoutFile,array('content'=>$text),true);

    
$text=$this->processOutput($text);

    if(
$return)
        return 
$text;
    else
        echo 
$text;
}

Renders a static text string. The string will be inserted in the current controller layout and returned back.

鍙傝

replaceDynamicOutput() 鏂规硶
protected string replaceDynamicOutput(array $matches)
$matches array matches
{return} string the replacement
婧愮爜锛 framework/web/CController.php#391 (鏄剧ず)
protected function replaceDynamicOutput($matches)
{
    
$content=$matches[0];
    if(isset(
$this->_dynamicOutput[$matches[1]]))
    {
        
$content=$this->_dynamicOutput[$matches[1]];
        
$this->_dynamicOutput[$matches[1]]=null;
    }
    return 
$content;
}

Replaces the dynamic content placeholders with actual content. This is a callback function used internally.

鍙傝

resolveViewFile() 鏂规硶
public mixed resolveViewFile(string $viewName, string $viewPath, string $basePath, string $moduleViewPath=NULL)
$viewName string the view name
$viewPath string the directory that is used to search for a relative view name
$basePath string the directory that is used to search for an absolute view name under the application
$moduleViewPath string the directory that is used to search for an absolute view name under the current module. If this is not set, the application base view path will be used.
{return} mixed the view file path. False if the view file does not exist.
婧愮爜锛 framework/web/CController.php#688 (鏄剧ず)
public function resolveViewFile($viewName,$viewPath,$basePath,$moduleViewPath=null)
{
    if(empty(
$viewName))
        return 
false;

    if(
$moduleViewPath===null)
        
$moduleViewPath=$basePath;

    if((
$renderer=Yii::app()->getViewRenderer())!==null)
        
$extension=$renderer->fileExtension;
    else
        
$extension='.php';
    if(
$viewName[0]==='/')
    {
        if(
strncmp($viewName,'//',2)===0)
            
$viewFile=$basePath.$viewName;
        else
            
$viewFile=$moduleViewPath.$viewName;
    }
    else if(
strpos($viewName,'.'))
        
$viewFile=Yii::getPathOfAlias($viewName);
    else
        
$viewFile=$viewPath.DIRECTORY_SEPARATOR.$viewName;

    if(
is_file($viewFile.$extension))
        return 
Yii::app()->findLocalizedFile($viewFile.$extension);
    else if(
$extension!=='.php' && is_file($viewFile.'.php'))
        return 
Yii::app()->findLocalizedFile($viewFile.'.php');
    else
        return 
false;
}

Finds a view file based on its name. The view name can be in one of the following formats:

For absolute view and relative view, the corresponding view file is a PHP file whose name is the same as the view name. The file is located under a specified directory. This method will call CApplication::findLocalizedFile to search for a localized file, if any.

run() 鏂规硶
public void run(string $actionID)
$actionID string action ID
婧愮爜锛 framework/web/CController.php#258 (鏄剧ず)
public function run($actionID)
{
    if((
$action=$this->createAction($actionID))!==null)
    {
        if((
$parent=$this->getModule())===null)
            
$parent=Yii::app();
        if(
$parent->beforeControllerAction($this,$action))
        {
            
$this->runActionWithFilters($action,$this->filters());
            
$parent->afterControllerAction($this,$action);
        }
    }
    else
        
$this->missingAction($actionID);
}

Runs the named action. Filters specified via filters() will be applied.

runAction() 鏂规硶
public void runAction(CAction $action)
$action CAction action to run
婧愮爜锛 framework/web/CController.php#303 (鏄剧ず)
public function runAction($action)
{
    
$priorAction=$this->_action;
    
$this->_action=$action;
    if(
$this->beforeAction($action))
    {
        if(
$action->runWithParams($this->getActionParams())===false)
            
$this->invalidActionParams($action);
        else
            
$this->afterAction($action);
    }
    
$this->_action=$priorAction;
}

Runs the action after passing through all filters. This method is invoked by runActionWithFilters after all possible filters have been executed and the action starts to run.

runActionWithFilters() 鏂规硶
public void runActionWithFilters(CAction $action, array $filters)
$action CAction the action to be executed.
$filters array list of filters to be applied to the action.
婧愮爜锛 framework/web/CController.php#284 (鏄剧ず)
public function runActionWithFilters($action,$filters)
{
    if(empty(
$filters))
        
$this->runAction($action);
    else
    {
        
$priorAction=$this->_action;
        
$this->_action=$action;
        
CFilterChain::create($this,$action,$filters)->run();
        
$this->_action=$priorAction;
    }
}

Runs an action with the specified filters. A filter chain will be created based on the specified filters and the action will be executed then.

savePageStates() 鏂规硶
protected void savePageStates(array $states, string &$output)
$states array the states to be saved.
$output string the output to be modified. Note, this is passed by reference.
婧愮爜锛 framework/web/CController.php#1224 (鏄剧ず)
protected function savePageStates($states,&$output)
{
    
$data=Yii::app()->getSecurityManager()->hashData(serialize($states));
    if(
extension_loaded('zlib'))
        
$data=gzcompress($data);
    
$value=base64_encode($data);
    
$output=str_replace(CHtml::pageStateField(''),CHtml::pageStateField($value),$output);
}

Saves page states as a base64 string.

setAction() 鏂规硶
public void setAction(CAction $value)
$value CAction the action currently being executed.
婧愮爜锛 framework/web/CController.php#499 (鏄剧ず)
public function setAction($value)
{
    
$this->_action=$value;
}

setPageState() 鏂规硶
public void setPageState(string $name, mixed $value, mixed $defaultValue=NULL)
$name string the state name
$value mixed the page state value
$defaultValue mixed the default page state value. If this is the same as the given value, the state will be removed from persistent storage.
婧愮爜锛 framework/web/CController.php#1179 (鏄剧ず)
public function setPageState($name,$value,$defaultValue=null)
{
    if(
$this->_pageStates===null)
        
$this->_pageStates=$this->loadPageStates();
    if(
$value===$defaultValue)
        unset(
$this->_pageStates[$name]);
    else
        
$this->_pageStates[$name]=$value;

    
$params=func_get_args();
    
$this->recordCachingAction('','setPageState',$params);
}

Saves a persistent page state value. A page state is a variable that is persistent across POST requests of the same page. In order to use persistent page states, the form(s) must be stateful which are generated using CHtml::statefulForm.

setPageTitle() 鏂规硶
public void setPageTitle(string $value)
$value string the page title.
婧愮爜锛 framework/web/CController.php#1010 (鏄剧ず)
public function setPageTitle($value)
{
    
$this->_pageTitle=$value;
}

Copyright © 2008-2011 by Yii Software LLC
All Rights Reserved.