ThinkPHP-扩展指南-模型扩展
来自站长百科
导航:返回上一页
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类并且都通过了扩展实现很多的功能。