maurit/sms-bundle

支持不同服务商的短信发送系统

安装: 35

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 6

开放问题: 0

类型:symfony-bundle

1.1.1.4 2023-12-01 05:16 UTC

This package is auto-updated.

Last update: 2024-09-30 01:35:45 UTC


README

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

安装

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

$ composer require maurit/sms-bundle ^1.0

配置

您可以定义尽可能多的服务商配置。可用的服务商包括

使用方法

在您的控制器中

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

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Maurit\Bundle\SmsBundle\Service\ProviderManager;
use Maurit\Bundle\SmsBundle\Sms\Sms;

class FooController
    extends AbstractController
{
    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\AbstractController;
use Maurit\Bundle\SmsBundle\Service\ProviderManager;
use Maurit\Bundle\SmsBundle\Sms\Sms;

class FooController
    extends AbstractController
{
    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 maurit:sms:delivery:test [your_provider_name] [your_phone_number] [your_message_text]