总结要点:消息通知系统

消息通知系统

  • 用于向用户发送消息提醒
  • 途径:
    • 数据库
    • 邮件
    • 短信
    • 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 方法来发送通知
本帖已被设为精华帖!
本帖由系统于 5年前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!