个人以为,在 Yii 内里,最难以邃晓的就是事宜(Event)和行动(behavior)了。这不仅仅是由于它们的观点比较难明,关键是它们的运用场景比较难明,不知道什么时刻应当运用事宜和行动来开发。类别:YII / 日期:2019-12-04 / 浏览:181 / 评论:0
事宜
事宜模子就是设想形式中的“观察者形式”:当对象的状况发生了变化,那末这个对象能够将该事宜关照别的对象。
为了运用事宜模子,须要完成这三个步骤: (引荐进修:yii框架)
1、定义事宜;2、注册事宜句柄;3、触发事宜。
为何要做这三个步骤呢?由于关于 PHP 自身,它的实行历程不是以历程化来运转的,
所以 Yii 的事宜触发机制不会像 ActionScript 3+ 那样,直接将触发事宜。
有人说,Yii 的事宜观点跟 js 中的事宜观点差不多,由于 Yii 是将事宜绑定到 Yii::app() 的实行历程当中。
行动
这里先从新形貌一下为何要运用行动。
有两种要领能够对类增加特征:
1、直接修正这个类的代码,增加一些成员函数和成员变量;
2、派生,经由过程子类来扩大。
很明显第二种要领越发易保护、易扩大。然则假如须要对一个类增加多个特征(多人在差别时代),那末须要举行多级派生,这明显加大了保护本钱。
在 Yii 内里,经由过程行动类绑定,组件将一个或多个 CBehavior 类的成员要领和成员变量增加到本身身上,并且在不须要的时刻载掉某些 CBehavior 类。
同时,能够经由过程重写 CBehavior::events 的要领,来完成对目的类的多个事宜绑定。这些事宜将会在当前行动绑定到目的类的时刻,一同被绑定上。
Yii2事宜与行动总结
1)、事宜用于在特定的时点,触发实行预先设定的一段代码,须要运用到事宜的类,都继续自 yii\base\Component。
2)、行动用于对类的补充,经由过程将行动绑定到一个类,能够使类具有行动自身所定义的属性和要领,就好像类原本就有这些属性和要领一样。
而且不须要写一个新的类去继续或包括现有类。
以上就是yii事宜和行动的区分的细致内容,更多请关注ki4网别的相干文章!