YII框架中控制器中的actions函数有什么用?难道只是用来做验证么

2025-05-02 17:30:37
推荐回答(1个)
回答1:

顾名思义,action 毫无疑问就是用来描述控制器的动作,一般都有 actionIndex ,即默认动作。
举例:

class PageController extends Controller
{
public function actionIndex()
{
echo 'default action';
}
}

当用户请求时,便会触发默认的动作,输出 default action。
当然你也可以定义特定的 action,例如:
class PageController extends Controller
{
public function actionIndex()
{
echo 'default action';
}

public function actionSelf()
{
echo 'new action';
}
}

此时,当用户请求 self 动作时,就会触发 输出 new action。
当然你会发现还有 CAction 的类,这是使用 action 的另外一种方法:
class SelfAction extends CAction
{

public function run()
{
echo 'new action';
}
}

class PageController extends Controller
{

public function actions()
{
return array(
'self' => 'application.controllers.actions.SelfAction',
);
}
}