一、用行为混合

1、定义狗的行为类

Yii2的mixin(混合机制)

2、把这个狗的行为挂在狗类里面

Yii2的mixin(混合机制)

3、狗实例化出来之后,可以调狗行为类里面的方法

Yii2的mixin(混合机制)

Yii2的mixin(混合机制)

4、当然,因为是混合机制而不是继承关系,所以行为类中不是public的是调用不到的(够的行为类只是被注入方)

Yii2的mixin(混合机制)

Yii2的mixin(混合机制)

报错如下:

Yii2的mixin(混合机制)

二、给行为类绑定事件

1、定义绑定

Yii2的mixin(混合机制)

2、触发sayWang

Yii2的mixin(混合机制)

3、效果

Yii2的mixin(混合机制)

三、不通过定义行为的事件,在狗的对象中直接注入狗行为的对象

1、注入行为

Yii2的mixin(混合机制)

2、效果

Yii2的mixin(混合机制)

3、还可以注销行为

Yii2的mixin(混合机制)

那么就会报错

Yii2的mixin(混合机制)

转载于:https://my.oschina.net/cxgphper/blog/1631254

相关文章:

  • 2021-11-07
  • 2022-01-10
  • 2018-06-26
  • 2022-01-20
  • 2021-04-29
  • 2020-02-17
  • 2022-01-22
  • 2021-07-26
猜你喜欢
  • 2017-12-22
  • 2021-05-06
  • 2021-11-15
  • 2021-10-15
  • 2021-10-29
  • 2021-04-16
  • 2018-01-15
  • 2021-10-01
相关资源
相似解决方案