首先:
控制器
是 CController 或其子类的实例。它在当用户请求时由应用创建。 当一个控制器运行时,它执行所请求的动作,动作通常会引入所必要的模型并渲染相应的视图。 动作
的最简形式,就是一个名字以 action
开头的控制器类方法。
控制器通常有一个默认的动作。当用户的请求未指定要执行的动作时,默认动作将被执行。 默认情况下,默认的动作名为 index
。它可以通过设置 CController::defaultAction 修改。
eg:
class TestController extends Controller{//控制器类
//action
public function actionTestHello(){
echo "hello word";
}
}
当我们在浏览器:输入:xxxx/inddx.php?r=test/testhello 则他会访问TestController控制器的actionTestHello()方法。
对于action: 我们还可以定义aciton类
eg:
class TestAction extends CAction{
public function run(){
//对应aciton的动作
echo "hello word";
}
}
在Controller中,
重写actions方法
public function actions(){
return array(
'test'=>'application.controllers.testAction.testAction',//第一个testaction是文件夹,第二个testActon是TestAction.php
);
}
访问:xxxx/index.php?r=controllerid/test