daniyal2959/persian-sms

包,用于从任何波斯服务提供商向号码发送短信

1.1.0 2024-02-28 13:40 UTC

This package is auto-updated.

Last update: 2024-09-28 15:14:14 UTC


README

alt text

PHP SMS 服务

Software License Latest Version on Packagist Total Downloads on Packagist

这是一个用于 SMS 服务集成的 PHP 库。此库支持 PHP 8.0+

对于 PHP 集成,您可以使用 daniyal2959/persian-sms 包。

此包与多个驱动程序一起工作,如果您在下面的当前驱动程序列表(以下列表)中找不到它们,您可以创建自定义驱动程序。

可用驱动程序列表

通过创建 pull requests 帮助我添加以下服务

  • farazsms.com
  • sms.ir
  • mellipayamak.com
  • farapayamak.ir
  • ...

所有与 ippanel 工作的服务都可以使用默认服务 ippanel

如果列表中不存在,您可以创建自己的自定义驱动程序,请阅读 创建自定义驱动程序 部分。

安装

通过 Composer

$ composer require daniyal2959/persian-sms

配置

只需将库的 autoload.php 文件包含到您的代码中

include_once 'vendor/autoload.php'

此包中没有配置文件,因此您可以在代码中设置您的短信服务提供商的设置。

如何使用

可用方法

  • driver:设置驱动程序
  • text:设置要发送的消息,不带模式
  • pattern:设置您的模式代码
  • data:设置数据模式数组的数组
  • to:设置接收者号码数组
  • from:设置发送者号码
  • send:发送您的短信并返回 JSON 或纯字符串响应

参数化方法

从 kavenegar 服务提供商发送短信消息的示例

$apiKey = '<YOUR_API_KEY>';
$sms = new SMS($apiKey);
$response = $sms->driver('kavenegar')
    ->text('<MESSAGE_TO_SEND>')
    ->from('<SERVICE_PROVIDER_NUMBER>')
    ->to('<ARRAY_OF_PHONE_NUMBERS>')
    ->send();

从 kavenegar 服务提供商发送短信模式的示例

$apiKey = '<YOUR_API_KEY>';
$sms = new SMS($apiKey);
$response = $sms->driver('kavenegar')
    ->pattern('<YOUR_PATTERN_NAME>')
    ->data('<ARRAY_OF_PATTERN_VALUES>') #E.g:['%token' => '1234']
    ->from('<SERVICE_PROVIDER_NUMBER>')
    ->to('<ARRAY_OF_PHONE_NUMBERS>')
    ->send();

从 ippanel 服务提供商发送短信消息的示例

$apiKey = '<YOUR_API_KEY>';
$sms = new SMS($apiKey);
$response = $sms->driver('ippanel')
    ->text('<MESSAGE_TO_SEND>')
    ->from('<SERVICE_PROVIDER_NUMBER>')
    ->to('<ARRAY_OF_PHONE_NUMBERS>')
    ->send();

从 ippanel 服务提供商发送短信模式的示例

$apiKey = '<YOUR_API_KEY>';
$sms = new SMS($apiKey);
$response = $sms->driver('ippanel')
    ->pattern('<YOUR_PATTERN_CODE>')
    ->data('<ARRAY_OF_PATTERN_VALUES>')
    ->from('<SERVICE_PROVIDER_NUMBER>')
    ->to('<ARRAY_OF_PHONE_NUMBERS>')
    ->send();

创建自定义驱动程序

您可以通过一步创建自定义驱动程序。这一步是

创建了一个类:Sms\Driver\MyDriver

namespace Sms\Driver;

use Sms\Contract\IDriver;
use Sms\Driver;

class MyDrive extends Driver implements IDriver
{
    const BASE_URL = '';
    
    /**
     * @return void
     */
    public function __construct()
    {
        $this->client = new Http(self::BASE_URL, 30, []);
    }
    
    /**
     * @return bool|mixed|string
     */
    public function sendPattern()
    {
        // TODO: Implement send pattern code for current service provider
    }

    /**
     * @param $text
     * @return bool|mixed|string
     */
    public function message($text)
    {
        // TODO: Implement send message code for current service provider
    }
    
    /**
     * @return void
     */
    public function setCredential()
    {
        // TODO: Implement set credential code for current service provider
    }
}

捐赠(如果您喜欢它 ❤️)

安全

如果您发现任何与安全相关的问题,请通过电子邮件 daniyal.s.2959@gmail.com 而不是使用问题跟踪器。

致谢

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件