samrap / teleapi-sms
Teleapi SMS 包。
Requires
- php: >=5.6
- guzzlehttp/psr7: ^1.3
- php-http/client-implementation: ^1.0
- php-http/discovery: ^1.1
- php-http/httplug: ^1.1
- php-http/message: ^1.4
Requires (Dev)
- php-http/mock-client: ^0.3.3
- phpunit/phpunit: ^5.7
This package is not auto-updated.
Last update: 2024-09-15 01:07:17 UTC
README
此包提供了一个流畅的接口,用于访问 Teleapi SMS 服务。
安装
通过 Composer 安装
composer require samrap/teleapi-sms
使用方法
Teleapi SMS 包提供了两个类,允许您轻松地通过 HTTP 创建并发送短信。
客户端
客户端用于向 Teleapi SMS 服务发送短信。使用 httplug 抽象了 HTTP 实现,允许您定义任何 PSR-7 兼容的客户端或 适配器 作为 HTTP 层。这让您可以完全控制请求的发送方式,并允许您在单元测试中轻松模拟 API 请求。
要开始,您需要选择您想要使用的 HTTP 客户端。对于简单应用,我们建议使用 PHP HTTP 的 CURL 客户端,对于更复杂的应用则使用 Guzzle。当然,任何 PSR-7 兼容的库都可以使用。在这个例子中,我们将使用 CURL 客户端。
首先,我们将 CURL 客户端添加到我们的需求中
composer require php-http/curl-client
现在我们的 HTTP 客户端已安装,我们可以实例化并使用我们的 SMS 客户端
use Teleapi\Sms\Client; $client = new Client('api_token');
我们已创建 SMS 客户端,它已准备好使用。请注意,我们没有指定要使用的 HTTP 客户端。在幕后,SMS 客户端会搜索任何已安装的提供 php-http/client-implementation
的包,并自动加载它。这只适用于某些客户端,最好明确指定 HTTP 客户端。请参阅 PHP HTTP 文档中的 客户端和适配器,了解如何实例化客户端。然后,只需将其作为 SMS 客户端构造函数的第二个参数传递即可。
use Teleapi\Sms\Client; // Some code to create our HTTP client... $client = new Client('api_token', $httpClient);
无论如何,我们现在可以开始使用 SMS 客户端,让我们创建一个消息并发送它!
所有消息都由 Teleapi\Sms\Message
类表示,创建起来非常简单
use Teleapi\Sms\Message; $to = '7148675309'; $from = '7141234567'; $text = 'Welcome to our amazing product!'; $message = new Message($to, $from, $text);
现在,我们可以通过调用客户端的 send
方法并将消息作为其单一参数传递,来发送消息
$client->send($message);
我们可以通过调用其 sent
方法来检查消息是否已成功发送
$client->send($message); if ($message->sent()) { echo 'Successfully sent message!'; }
一个完整的例子可能如下所示
use Teleapi\Sms\Client; // Some code to create our HTTP client... $client = new Client('api_token', $httpClient); $message = new Message( '7148675309', '7141234567', 'Welcome to our amazing product!' ); $client->send($message); if ($message->sent()) { echo 'Successfully sent message!'; }