CModelBehavoir and CActiveRecordBehavior~

看了一下 yii 的源码,

发现 CActiveRecord 和 CModel 是属于同级class, CactiveRecord 继承 CModel

在数据查询时:

在 CActiveRecord 中定义的 behavoirs(),首先会被 model() 所执行~

然后在 populateRecord() 返回实例时,再次执行~

执行两次是没有问题的,一个是 model插件绑定,另一个则是 activerecord插件绑定~

但问题是,在插件中,并没有任何标识,哪个方法属于 model插件方法,而哪个又属于activerecord插件方法,虽然从使用上,基本没有什么问题

但是这种,“浪费”式的绑定是否应该遏制一下?

我觉得,是否可以已方法前缀来区分插件类型?

model()实例和具体实例是不同的实例。所以对某个特定的实例而言,插件都只绑定一次。

每个实例绑定一次插件,可以理解~

可是,不区分 model 和 activerecord 的插件范围~ 这是否不利于理清关系,和日益繁多的插件加载性能?