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类并且都通过了扩展实现很多的功能。