ThinkPHP官网首页

ENGLISH

Manual

6.4 模型扩展

ThinkPHP的新版模型具有很好的扩展性,对模型的CURD方法都提供了扩展接口。

模型类提供了多个回调接口,主要扩展接口如下:

全局接口:

初始化接口 _initialize()

表达式过滤接口 _options_filter(&$options)

add方法接口:

写入前置接口 _before_insert(&$data,$options)

写入后置接口 _after_insert($data,$options)

save方法接口:

更新前置接口 _before_update(&$data,$options)

更新后置接口 _after_update($data,$options)

同时对add和save方法的接口:

数据写入(包括写入和更新)数据库之前的处理接口 _facade($data)

delete方法接口:

删除后置接口 _after_delete($data,$options)

select(findall)方法接口:

查询后置接口(数据集) _after_select(&$result,$options)

find方法接口:

查询后置接口 (数据) _after_find(&$result,$options)


系统内置的高级模型AdvModel、视图模型ViewModel和关联模型RelationModel本身就是一个模型扩展的很好的例子,本身都是继承Model类并且都通过了扩展实现很多的功能。