背景
最近在看项目中前辈的代码,发现使用队列发送消息的时候,从一开始整合发送消息需要数据的时候,就一直携带者实例化好的sendMessage类,项目中又将推送资料和推送会议分成了两个队列,所以在好些个方法中都有这个sendMessage对象;而且sendMessage实例化时,又依赖其他的类; 所以这个就让我想起来了laravel的核心 Provider
了解laravel的工作原理
所以laravel服务容器就像一个高度自动化的工厂,你需要的东西,定制好模型,使用特定接口来制造就可以了;而且它可以在实例化的时候解决你需要的一些依赖的类的问题;
原发送消息执行流程
- 实际发送逻辑汇总
SendMessage.php
class SendMessage{
protected $mailService; // 发送邮件的服务
public function __construct(SendMailService $mailService)
{
$this->mailService = $mailService;
}
public function send(array $data, $sender = null, $receiver = null, $module = null, $from = null, $push_url = null, $is_type =