php - 用于检查是否应执行类的 PHP 设计模式
问题描述
我开发了一个基于 Laravel 的应用程序,它可以发送各种电子邮件,例如通知用户新工作和新消息。
我已经创建了所有必要的邮件类。我们现在要创建一个数据库列,允许各个用户设置是否要接收这些通知电子邮件。
当用户执行通常会发送电子邮件的操作时,我希望系统根据他们在数据库中的设置检查用户是否想要接收这些电子邮件。我不想在代码中使用不必要的if()
函数来包装所有对电子邮件的调用。
有没有我可以用来处理这个问题的首选设计模式?
解决方案
它被称为外观模式:https ://en.wikipedia.org/wiki/Facade_pattern
- 扩展 Laraval 的
PendingMail
对象 send()
将函数重写为仅在满足parent::send()
您的if()
条件时调用- 返回
Mail::to()
您的扩展版本
Laravel 有一些关于如何在此处执行此操作的文档: https ://lumen.laravel.com/docs/7.x/mail
推荐阅读
- java - 如何在Android中设置多个警报为每个警报触发不同的通知
- sql - 加入并创建更多表格
- python - 使用python在字符串中的指定字符前面插入单个转义字符
- azure - Azure 逻辑应用服务总线发送消息连接器返回 504 网关超时错误
- powerbi - PowerBI - 计算具有值的行数作为表用户
- typescript - 我在 typeorm 中对数组进行过滤时遇到问题。QueryBuilder 只返回它找到的第一个匹配项
- vue.js - Vue Accordion:覆盖 SCSS 值
- neo4j - Neo4j 计算关系
- view - 从多个列标题创建切片器
- flutter - 连接服务协议出错:无法连接到http://127.0.0.1:58463/vWu5Xiui7n4=/