pe / component-messenger
信使
v1.0.0
2023-04-21 04:36 UTC
Requires
- php: ^7.4
- ext-json: *
- ext-simplexml: *
- psr/http-message: ^1.1
- psr/log: ^1.1
Requires (Dev)
- php-mock/php-mock: ^2.1
- php-mock/php-mock-phpunit: ^2.5
- phpunit/phpunit: ^9.3
README
以下版本的PHP受支持。
- PHP 7.4+
安装
要安装,请使用composer
php composer.phar require pe/component-messenger
用法
此软件包允许您通过各种渠道和服务发送模板消息。有预定义的渠道来发送聊天、邮件、短信和推送消息。您需要做的是创建集成(如下所述)。
namespace PE\Component\Messenger; use PE\Component\Messenger\Channel\ChatChannel; use PE\Component\Messenger\Template\ChatTemplate; // Example chat (other types has same api) /* @var $transport TransportInterface */ $transport = '...';// Telegram, Viber, WhatsApp, etc $channel = new ChatChannel($transport); $template = new ChatTemplate('Hello {{name}}', []); $recipient = new Recipient('internalID', ['name' => 'John']); // Send messages and get event collection with results $events = $channel->send($template, $recipient/*, <other recipients>*/); // That's all!
创建集成
要创建集成,您需要实现以下内容:
- 实现
PE\Component\Messenger\FactoryInterface
的工厂,以从DSN创建实例 - 实现
PE\Component\Messenger\TransportInterface
的传输,以通过特定API发送 - (可选)实现
PE\Component\Messenger\CollectorInterface
的收集器,以处理webhook调用 - (可选)实现
PE\Component\Messenger\ValidatorInterface
的验证器,以检查集成在远程端是否成功配置
现在您可以直接使用传输,或者将其集成到集成列表中。为此,您需要将您的工厂添加到 PE\Component\Messenger\FactoryMap
,可能通过某些DI容器/框架。