他和比如actionIndex等这些方法有好什么区别呢?我在Yii的视频教程上面看见的是用来做验证码
谢邀!:)
顾名思义,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',
);
}
}
建议题主在正式开发前,先对 YII
有个大致的了解,可以阅读这个文档:《Yii 权威指南》
2 回答1.6k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
2 回答1.1k 阅读
1 回答946 阅读
1 回答899 阅读
1 回答897 阅读
比如通过一个文件来定义action,而不是在controller中定义
例如:
官方的例子:SiteController 中
就可以直接通过 xxx?r=site/captcha 访问到验证码了!