Eyoucms程序开发:事件
模型事件
| 版本 | 新增功能 |
|---|---|
| 5.0.4 | 增加模型事件注册快捷方法 |
模型事件是指在进行模型的写入操作的时候触发的操作行为,包括模型的save方法和delete方法。
模型事件只可以在调用模型的方法才能生效,使用查询构造器通过Db类操作是无效的
模型类支持before_delete、after_delete、before_write、after_write、before_update、after_update、before_insert、after_insert事件行为
| 标签位 | 描述 |
|---|---|
| before_insert | 新增前 |
| after_insert | 新增后 |
| before_update | 更新前 |
| after_update | 更新后 |
| before_write | 写入前 |
| after_write | 写入后 |
| before_delete | 删除前 |
| after_delete | 删除后 |
使用方法如下:
User::event('before_insert', function ($user) {
if ($user->status != 1) {
return false;
}
});
注册的回调方法支持传入一个参数(当前的模型对象实例),并且before_write、before_insert、 before_update 、before_delete事件方法如果返回false,则不会继续执行。
支持给一个位置注册多个回调方法,例如:
User::event('before_insert', function ($user) {
if ($user->status != 1) {
return false;
}
});
// 注册回调到beforeInsert函数
User::event('before_insert', 'beforeInsert');
可以在模型类的init方法里面统一注册模型事件,例如:
namespace app\index\model;
use think\Model;
class User extends Model
{
protected static function init()
{
User::event('before_insert', function ($user) {
if ($user->status != 1) {
return false;
}
});
}
}
调用当前模型也可以写入 self::event('before_insert', ...)
快捷注册(V5.0.4+)
V5.0.4+版本开始,系统提供了内置的事件注册的快捷方法,你可以用下面的方式替代
namespace app\index\model;
use think\Model;
class User extends Model
{
protected static function init()
{
User::beforeInsert(function ($user) {
if ($user->status != 1) {
return false;
}
});
}
}
这些模型类的快捷方法如下:
| 标签位 | 描述 |
|---|---|
| beforeInsert | 新增前 |
| afterInsert | 新增后 |
| beforeUpdate | 更新前 |
| afterUpdate | 更新后 |
| beforeWrite | 写入前 |
| afterWrite | 写入后 |
| beforeDelete | 删除前 |
| afterDelete | 删除后 |
相关文档
- 搜狗站长工具怎么用?SEO优化功能全解析
- 增加百度收录怎么操作?新站快速收录技巧分享
- 安卓优化大师hd功能具体能做什么如何使用效果最好?
- 华夏seo软件使用教程:新手如何快速掌握核心功能?
- 南京丁丁地图公交查询怎么用?丁丁地图生活服务功能有哪些?
- SEO伴侣怎么用竞争分析功能新手快速上手教程
- seocnm软件怎么用?新手3天掌握核心功能省时50%
- 百度大数据引擎是什么?有何用?核心功能模块大揭秘
- 【冲顶神器功能介绍】实用功能盘点!助力高效操作,超省心
- 旺道SEO系统是什么?有啥用?核心功能大揭秘
- 手机网站排名优化软件到底是啥?有哪些重要功能?
- 企业网站管理系统挑选有门道?功能需求与操作简便性超关键
- 论坛短消息群发功能介绍,常见问题及操作步骤详解
- 淘宝新手上路指南!APP基本功能介绍及购物注意事项
- 想网上推广?刷论坛推广软件功能及靠谱选择方法来啦
- 免费Discuz论坛怎么用?有啥好处?功能全活儿超适合新手
- 免费论坛群发器好用吗?核心功能模块拆解及基本概念介绍
- 百中搜优化软件是啥?有啥用?功能模块大揭秘
- 企业门户:现代办公数字化平台,功能模块搭建要点有哪些?
- 排名精灵有多厉害?提升曝光率与增加流量转化全靠它
上一篇: Eyoucms程序开发:JSON序列化
下一篇: Eyoucms程序开发:视图实例化

