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

更多内容: 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()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值