yamilovs/sms-bundle

支持不同提供商的短信发送系统

安装次数: 3,129

依赖者: 0

建议者: 0

安全: 0

星标: 4

关注者: 2

分支: 6

开放问题: 0

类型:symfony-bundle

1.1.1 2018-10-15 13:18 UTC

This package is auto-updated.

Last update: 2024-09-10 01:03:47 UTC


README

此包将帮助您在项目中实现短信消息

安装

您可以通过以下命令安装此包:

$ composer require yamilovs/sms-bundle ^1.0

配置

您可以根据需要定义任意数量的提供商配置。可用的提供商有:

使用方法

在您的控制器中

<?php
// src/Controller/FooController.php
namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Yamilovs\Bundle\SmsBundle\Service\ProviderManager;
use Yamilovs\Bundle\SmsBundle\Sms\Sms;

class FooController extends Controller
{
    public function barAction(ProviderManager $providerManager)
    {
        $sms = new Sms('+12345678900', 'The cake is a lie');
        $provider = $providerManager->getProvider('your_provider_name');
        
        $provider->send($sms);
    }
}

如果您想安排短信发送:

<?php
// src/Controller/FooController.php
namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Yamilovs\Bundle\SmsBundle\Service\ProviderManager;
use Yamilovs\Bundle\SmsBundle\Sms\Sms;

class FooController extends Controller
{
    public function barAction(ProviderManager $providerManager)
    {
        // Your selected sms provider
        $provider = $providerManager->getProvider('your_provider_name');
        
        // Date of sms delivery
        $worldCupStartDate = (new \DateTime("2018:06:30 00:00:00"))->setTimezone(new \DateTimeZone('Europe/London'));
        $remindDate = (new \DateTime())->add(new \DateInterval('PT5M'));
        
        // Create new delayed sms
        $worldCupStartSms = new Sms('+12345678900', '2018 FIFA World Cup started!', $worldCupStartDate);
        $remindSms = new Sms('+12345678900', 'I will remind you of football', $remindDate);
        
        // Send delayed delivery to provider
        $provider->send($worldCupStartSms); // will be sent at 2018:06:30 00:00:00
        $provider->send($remindSms); // will be sent after 5 minutes
    }
}

提示

您可以使用以下命令检查短信发送:

$ php bin/console yamilovs:sms:delivery:test [your_provider_name] [your_phone_number] [your_message_text]