描述:一个系统里面通常都会有一些类似于站内信,用户私信等消息(Message),然后通过邮件,微信模板消息,短信等多种渠道(Sender)发送到对应用户上。消息系统这是解决这个问题。
1.创建你的消息实体类
在 目录下创建消息实体类,并继承 Message\Libs\Message
类,实现 createSender()
2.创建你的分发渠道
示例:SimpleSender:
3.创建消息
使用 Message\Service\MessageService::createMessage($msg)
添加消息
4.消息处理
4.1 手动处理一条消息
4.2 或者你可以添加计划任务,,建议每隔1分钟处理一次。
- 有多少个消息分发渠道就建多少种 Sender
- 其实 Sender 相当于一个事件处理器(Handler),不要认为只能用来发消息(模板消息,短信等)
- Message 里
setContent()
,setReceiver()
,setTarget()
都不是必须,只是传入对应的参数方便 Sender 中自由的根据消息的来源信息自由修改发送内容