PHP Yii框架自定义动作(Action)用法详解
来源:互联网 发布:苍云正太脸型数据 编辑:程序博客网 时间:2024/05/21 22:24
PHP Yii框架的动作(Action)有两种方式:
- 写在控制器类中的动作方法:动作函数必须以action为前缀,比如actionLogin();
- 自定义动作类:继承父类CAction;
写在控制器类的动作函数这种方式比较简单,此处仅举一个例子,并不做详述:
class UserController extends CController{public function actionLogin() {}}
自定义动作需要三步:
- 编写自定义动作类,继承CAction类;
- 编写run函数,实现动作逻辑;
- 在控制器中注册自定义动作。
编写自定义动作类,编写run方法。
<?php/** * 自定义Action * @author wangyalsong * */class SayAction extends CAction{public function run($classname, $age=20){echo "SayAction,run:Hello, I`m ".$this->name.'My class is '.$classname." 班. age is {$age}<br>";}}
自定义动作类中定义了run方法,并且传入了两个参数。
注意,方法的名字必须是run,千万别写错了,因为,在父类CAction中,已经明确定义了该方法名称:
/** * Runs the action with the supplied request parameters. * This method is internally called by {@link CController::runAction()}. * @param array $params the request parameters (name=>value) * @return boolean whether the request parameters are valid * @since 1.1.7 */public function runWithParams($params){$method=new ReflectionMethod($this, 'run');if($method->getNumberOfParameters()>0)return $this->runWithParamsInternal($this, $method, $params);elsereturn $this->run();}
自定义动作类写好后,下一步,就是要在控制类中注册该动作了。
上一步,我们编写的run方法,需要传入两个参数,所以在控制类中,注册动作的时候,要同时传入参数。
在控制器中注册动作,需要复写父类CController的actions方法。
class UserController extends CController{public function actionLogin() {}public function actions(){return array('say'=>array('class'=>'application.controllers.user.SayAction',//动作类目录别名'name'=>'wangyuchun',//传入参数),);}}
0 0
- PHP Yii框架自定义动作(Action)用法详解
- PHP Yii框架过滤器用法详解
- PHP Yii框架过滤器用法详解
- PHP Yii框架过滤器用法详解
- Cocos2d-动作(Action)详解
- coco2dx-动作(Action)原理二 动作分类详解
- 动作Action详解
- action函数详解(自定义action)
- Yii框架事务用法
- Yii PHP 框架分析(二)
- Yii PHP 框架分析(三)
- Yii PHP 框架分析(四)
- PHP yii 框架源码阅读(一)
- Yii PHP 框架分析(二)
- Yii PHP 框架分析(三)
- Yii PHP 框架分析(四)
- Yii PHP 框架分析(二)
- Yii PHP 框架分析(三)
- VMware与OpenStack整合的三大参考架构
- 修复cocoapods
- Springmvc注解
- 文章标题
- OpenCV 学习 (Split 和 Merge)
- PHP Yii框架自定义动作(Action)用法详解
- android限制app的敏感ContentProvider的可访问性
- pthread条件变量condition(配合mutex锁使用),经典,有图
- =与==赋值与等于
- 一个比较有趣的 Android 动画效果
- MVC Kendo总结之-----> NumericTextBox
- Android静态代码检查-Lint
- C#中正则表达式的使用
- 二进制序列换反序列化