您的位置:首页 > 编程语言 > PHP开发

深入理解Yii2.0 (3)行为(Behavior)

2016-08-31 23:48 423 查看
更多内容: http://blog.yuhai.win

参考地址:
1、http://www.digpage.com/behavior.html


1、使用行为可以在不修改现有类的情况下,对类的功能进行扩充

2、yii中的行为,其实是yii\base\Behaior 类的实例,只要将一个Behavior实例绑定到任意的yii\base\Component 实例上,这个Component 就可以拥有该Behavior 所定义的属性和方法了。

3、使用行为

// Step 1: 定义一个将绑定行为的类
class MyClass extends yii\base\Component
{
// 空的
}

// Step 2: 定义一个行为类,他将绑定到MyClass上
class MyBehavior extends yii\base\Behavior
{
// 行为的一个属性
public $property1 = 'This is property in MyBehavior.';

// 行为的一个方法
public function method1()
{
return 'Method in MyBehavior is called.';
}
}

$myClass = new MyClass();
$myBehavior = new MyBehavior();

// Step 3: 将行为绑定到类上
$myClass->attachBehavior('myBehavior', $myBehavior);

// Step 4: 访问行为中的属性和方法,就和访问类自身的属性和方法一样
echo $myClass->property1;
echo $myClass->method1();


a、 从yii\base\Component 派生自己的类,以便使用行为;

b、从yii\base\Behavior 派生自己的行为类,里面定义行为设计hi到的属性和方法;

c、将Component和Behavior绑定起来

d、像使用Component自身的属性和方法一样名,使用行为中定义的方法和属性。

4、行为的绑定与解除

Behavior 中行为的绑定与解除分别对应着attach() 和detach()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  yii php behavior 行为