YII框架的行为
来源:互联网 发布:2016餐饮软件排名 编辑:程序博客网 时间:2024/06/04 18:23
YII框架的行为
一、什么是行为
行为,也称为 mixins,可以无须改变类继承关系即可增强一个已有的类的功能。
当一个对象或类被注入某些行为后,这个对象可以像访问自己定义的方法和属性一样访问注入进来的方法和属性。
二、定义行为
要定义行为,通过继承 yii\base\Behavior 或其子类来建立一个类。如:
<?phpnamespace vendor\Behavior;use yii\base\Behavior;/** * 定义一个服务员的点餐的行为 */class MyBehavior extends Behavior{ public $paper='paper<br/>'; //纸 private $_pen; //笔 public function getPen() { return $this->_pen; } public function setPen($value) { $this->_pen = $value; } /** * 点餐 */ public function order() { echo 'order<br/>'; }}
三、附加行为
1、静态附加上去,覆写行为要附加的组件类的 yii\base\Component::behaviors() 方法即可。
<?phpnamespace vendor\Behavior;use vendor\Behavior\MyBehavior;use yii\base\Component;/** * 定义一个服务员类 */class Waiter extends Component{ public function behaviors() { return [ MyBehavior::className(), ]; }}
2、动态附加上去
$waiter->attachBehavior('MyBehavior', MyBehavior::className()); //动态附加$waiter->detachBehavior('MyBehavior'); //动态移除
四、使用行为
<?phpnamespace app\controllers;use yii\web\Controller; use \YII;use vendor\Behavior\MyBehavior;use vendor\Behavior\Waiter;class TestController extends Controller{ public function actionIndex() { $waiter = new Waiter; $waiter->attachBehavior('MyBehavior', MyBehavior::className()); //动态附加 $waiter->detachBehavior('MyBehavior'); //动态移除 $waiter->order(); echo $waiter->paper; $waiter->setPen('pen<br/>'); echo $waiter->getPen(); }}
0 0
- YII框架的行为
- Yii框架的事件(Event)和行为(Behavior)
- yii 行为Behavior的使用
- PHP的Yii框架中移除组件所绑定的行为的方法
- 在PHP的Yii框架中使用行为Behaviors的方法
- 详解在PHP的Yii框架中使用行为Behaviors的方法
- 详解在PHP的Yii框架中使用行为Behaviors的方法
- php的yii框架
- php的yii框架
- yii框架的原理
- yii框架的rules
- Yii框架的分页
- 清晰理解Yii的事件和行为
- YII框架分析笔记2:组件和事件行为管理
- 初学YII框架的心得
- yii框架项目的创建
- yii框架分页的实现
- yii框架的部署方法
- Python-运算符
- memset的使用注意
- css样式表基本属性1
- 如何查看内核版本和ubuntu版本
- leetcode74Search a 2D Matrix
- YII框架的行为
- Java的 类名.this
- UVA
- Unity3D学习(13)之UI界面与背包系统
- 4.5版本eclipse安装activiti插件
- STM32——小车2个直流电机运动控制
- Problem K: STL——水果店
- Docker之常用命令
- 详解僵尸进程和孤儿进程