mechta-market/php-sms-gateway

该包最新版本(1.0.1)没有可用的许可证信息。

PHP SMS网关包装器

1.0.1 2024-07-18 05:18 UTC

This package is auto-updated.

Last update: 2024-09-18 05:43:33 UTC


README

介绍

MechtaMarket SMS网关是一个用于通过自定义网关发送短信的PHP项目包。此包设计用于在多个项目中重复使用。

安装

使用Composer安装包

composer require mechta-market/php-sms-gateway

使用

初始化服务

您可以通过提供您的SMS网关的基本URL来初始化SmsGatewayService。

use MechtaMarket\SmsGateway\SmsGatewayService;

$base_url = 'https://sms-gateway.example.com';
$sms_gateway_service = new SmsGatewayService($base_url);

发送短信

该包提供两种发送短信的方式:同步和异步。

同步发送

同步发送意味着发送短信服务将等待提供商的响应,并在响应中返回消息ID。要使用同步发送短信,请使用sendSync方法。

try {
    $sms_id = $sms_gateway_service->sendSync('1234567890', 'Тестовое сообщение');
    echo "SMS успешно отправлено с ID: $sms_id";
} catch (InvalidArgumentException $e) {
    // некорректные аргументы
    echo "Не удалось отправить SMS: " . $e->getMessage();
} catch (\MechtaMarket\SmsGateway\Exceptions\SmsGatewayClientException $e) {
    // клиентская ошибка
    echo "Не удалось отправить SMS: " . $e->getMessage();
} catch (\MechtaMarket\SmsGateway\Exceptions\SmsGatewayServerException $e) {
    // ошибка сервера
    echo "Не удалось отправить SMS: " . $e->getMessage();
}

异步发送

异步发送意味着发送短信的任务将在后台执行,无需等待提供商的响应。要使用异步发送短信,请使用sendAsync方法。

try {
    $sms_gateway_service->sendAsync('1234567890', 'Тестовое сообщение');
    echo "SMS успешно отправлено";
} catch (InvalidArgumentException $e) {
    // некорректные аргументы
    echo "Не удалось отправить SMS: " . $e->getMessage();
} catch (\MechtaMarket\SmsGateway\Exceptions\SmsGatewayClientException $e) {
    // клиентская ошибка
    echo "Не удалось отправить SMS: " . $e->getMessage();
} catch (\MechtaMarket\SmsGateway\Exceptions\SmsGatewayServerException $e) {
    // ошибка сервера
    echo "Не удалось отправить SMS: " . $e->getMessage();
}