总结要点:消息通知系统
消息通知系统
- 用于向用户发送消息提醒
- 途径:
- 数据库
- 邮件
- 短信
- Slack
使用
准备数据库
-
消息通知系统会在一张数据表中存储所有的通知消息
- 包含通知类型,描述通知的其他信息
# 创建表 php artisan notifications:table # 数据库迁移 php artisan migrate
创建通知类
- Laravel 中,一种通知就是一个类,文件一般放在
app/Notifications
中 -
可以通过 artisan 命令来创建
php artisan make:notification ANotification
- 在通知类的构造方法中,注入需要的模型
- 每个通知类都会有
via
方法,用来指明通知的方式 - 针对不同的通知类型,需要实现不同的方法
toXXX($notifiable)
- 方法接收
$notifiabel
作为参数 - 方法返回一个数组,该数组之后会转换成 JSON 数据存放在通知数据表的
data
中
- 方法接收
如果
via
数据库进行通知,那么toXXX
就是toDatabase
如果via
邮件进行通知,那么toXXX
就是toMail
触发通知
- 调用
User
中的notify
方法,并新建一个通知实例作为参数传入 - 也可以通过重写
User
类的notify
方法来实现更多的操作,但最后需要调用Notifiable.notify
方法来发送通知
本帖已被设为精华帖!
本帖由系统于 6年前 自动加精
Mark
Good