wearesho-team / message-delivery
消息传递接口
1.9.0
2024-09-09 15:25 UTC
Requires
- php: ^7.4 || 8.*
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
Suggests
- wearesho-team/alphasms-message-delivery: AlphaSMS Delivery\Service integration
- wearesho-team/telegram-message-delivery: Telegram bot api Delivery\Service integration
- wearesho-team/yii2-message-delivery: Yii2 implementation of Delivery\RepositoryInterface
This package is auto-updated.
Last update: 2024-09-09 15:39:31 UTC
README
此存储库包含简单的消息发送的标准接口和实现。
安装
composer require wearesho-team/message-delivery
内容
接口
- Exception - 如果消息无法发送,将由 ServiceInterface 抛出的异常。
- MessageInterface - 消息实体,包括
recipient
和text
字段。可以扩展额外的字段。 - RepositoryInterface - 消息存储库。存储消息发送的历史记录。可以在 ServiceInterface 实现中用作依赖项。
- ContainsSenderName - 扩展 Message 的发送者名称获取器的接口
- CheckBalance - 包含用于检查余额的服务方法
balance
的声明。返回包含amount
和currency
的 Balance。
实现
- MessageTrait - 为 MessageInterface 字段提供获取器的 traits。
- SenderNameTrait - 为 ContainsSenderName 接口提供获取器的 traits。
- MessageWithSender - 扩展 Message 并使用 SenderNameTrait 的实体。
- Message - 使用 MessageTrait 的实体。
- ServiceMock - 简单的 ServiceInterface 实现。用于测试目的。
- MemoryRepository - 简单的 RepositoryInterface 实现,允许在内存中存储历史记录。用于测试目的。
- RepositoryTrait - 简化了 RepositoryInterface 实现。
- BalanceTrait - 为 BalanceInterface 提供获取器的 traits。
示例
<?php require_once './vendor/autoload.php'; use Wearesho\Delivery; $service = new Delivery\ServiceMock(); $message = new Delivery\Message( $text = 'hello', $recipient = 'world' ); $service->send($message);
集成
- wearesho-team/yii2-message-delivery - Delivery IRepositoryInterface 实现,使用异步队列的 Delivery IServiceInterface 实现
- wearesho-team/alphasms-message-delivery - AlphaSMS 集成
- wearesho-team/telegram-message-delivery - 基于 irazasyed/telegram-bot-sdk 实现的 Telegram bot 集成