yokai/messenger-bundle

该软件包已被废弃且不再维护。作者建议使用 symfony/notifier 软件包。

简化 Symfony 项目的消息发送流程

v1.5 2019-01-24 17:30 UTC

README

⚠️ 该软件包已被废弃且不再维护。作者建议使用 symfony/notifier 软件包。

Latest Stable Version Latest Unstable Version Total Downloads License

Build Status Scrutinizer Code Quality Code Coverage SensioLabsInsight

简化 Symfony2 项目的消息发送流程。

想象一下,你的应用程序发送电子邮件、触发 UI 通知、发送短信。你正在使用多个库来完成这些操作。如果你没有对代码进行重构,你将在每个发送消息的地方都有一堆复制粘贴的代码。

最糟糕的是,如果你预期某天会发送电子邮件,明天可能也会发送短信。如果这种情况发生,你可能需要重写你的代码...

这个软件包试图帮助解决这些问题,提供了一种简单的方式来配置和分发这些消息。

原则

消息

message 代表你的应用程序正在发送某物。

创建一个 message 与创建一个带有至少 1 个 yokai_messenger.message 标签的服务 Yokai\MessengerBundle\Message 一样简单,对于每个标签,你指定消息应该分发的 channel

你还可以使用此软件包 配置 它。

接收者

recipient 代表你的消息的目标信息。

每个 channel 都可以自由支持某些类型的接收者(通常是通过检查接口)。

通道

channel 代表分发 messages 的方式。

此软件包包含一些内置的 channels

  • Yokai\MessengerBundle\Channel\SwiftmailerChannel : 使用 Swift Mailer 发送电子邮件。阅读通道 文档
  • Yokai\MessengerBundle\Channel\DoctrineChannel : 使用 Doctrine ORM 记录数据库条目。阅读通道 文档
  • Yokai\MessengerBundle\Channel\MobileChannel : 使用 NotificationPusher 推送移动通知。阅读通道 文档

创建一个 channel 与创建一个实现 Yokai\MessengerBundle\Channel\ChannelInterface 的服务一样简单,使用 yokai_messenger.channel 标签。

当消息即将发送时,将要求 channel 处理 delivery

投递

一个 投递 (Yokai\MessengerBundle\Delivery) 代表即将发送到 接收者channelmessage。它主要是将所有数据存储在同一位置。

创建一个 投递 是一个内部过程,必须由 发送者 完成。

发送者

发送者 是您发送消息的入口点。

它集中配置要通过哪些 channels 发送哪些 messages

安装

使用 Composer 将包作为依赖项添加

$ php composer.phar require yokai/messenger-bundle

在内核中启用包

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = [
        // ...
        new Yokai\MessengerBundle\YokaiMessengerBundle(),
    ];
}

配置

阅读专门的文档。

用法

阅读专门的文档。

MIT 许可证

许可证可以在这里找到。

作者

该包最初由 Yann Eugoné 创建。

查看贡献者列表。