编程语言
首页 > 编程语言> > ThinkPHP3.2.3 钩子方法使用

ThinkPHP3.2.3 钩子方法使用

作者:互联网

在Library/Think/Model.class.php 这个基础model类中在添加add,修改save,和删除delete 时各自回调用两个回调函数. 使用这两个回调函数会给开发带来方便.

 

1 . add()方法回调函数

// 插入数据前的回调方法
protected function _before_insert(&$data,$options) {}
// 插入成功后的回调方法
protected function _after_insert($data,$options) {}

2 . save()方法回调函数

// 更新数据前的回调方法
protected function _before_update(&$data,$options) {}
// 更新成功后的回调方法
protected function _after_update($data,$options) {}

3 .delete()方法回调方法

// 删除数据前的回调方法
protected function _before_delete($options) {}    
// 删除成功后的回调方法
protected function _after_delete($data,$options) {}

4.使用场景是什么?

1 ._before_insert()

//添加前
protected function _before_insert(&$data, $option)
{
    // 添加管理员之前先加密
    $data['password'] = md5($data['password'] . C('MD5_KEY'));
}

上面就是我们在插入数据库之前,对password字段进行md5加密.格式必须是 $data[‘字段名’] . 这个字段名就是你要插入到数据表中的字段.

//添加前
//参数1 即将要插入到数据库中的数据,数组
//&按引用传递:函数内部要想修改函数外部传进来的变量必须使用引用传递,除非传的是一个对象,对象默认是按引用传递
protected function _before_insert(&$data, $option)
{
    // 获取当前时间添加到表单中,这样插入到数据库
    $data['addtime'] = date('Y-m-d H:i:s',time());
}

上面就是我们在插入数据库之前,在插入到数据库一个当前添加时间

 

标签:function,钩子,ThinkPHP3.2,方法,protected,回调,data,options,before
来源: https://www.cnblogs.com/dazahui/p/14339289.html