总结要点:消息通知系统

消息通知系统

  • 用于向用户发送消息提醒
  • 途径:
    • 数据库
    • 邮件
    • 短信
    • 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 方法来发送通知
本帖已被设为精华帖!
本帖由系统于 7个月前 自动加精
bignose
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 2
Echos

Mark

8个月前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

社区文档:

将托管在 packagist.org 和 github.com 的扩展包使用国内 CDN 加速
GitHub Laravel 扩展包 TOP 250
速查表方便快速查询框架功能,支持手机访问,支持中英文版本
Laravel 中文文档,由社区用户翻译和维护,将会保持一直更新
此文档的目的,就是为了提高技术团队的凝聚力、一致性和生产效率。
开发环境的部署,开发者工具的选择,适用于 Mac 和 Windows。
浓缩过后的精华
Laravel Nova 后台管理面板文档的中文翻译
Lumen 中文文档,由社区用户翻译和维护,将会保持一直更新
Laravel 下知名扩展包 Dingo API 的中文文档,Laravel API 开发必知必会