定制 devcodesms/devcode-sms-bundle 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

devcodesms/devcode-sms-bundle

Composer 安装命令:

composer require devcodesms/devcode-sms-bundle

包简介

Symfony bundle for the DevCode SMS API. Send SMS messages and check your balance directly from your Symfony application.

README 文档

README

Symfony bundle for the DevCode SMS API.
Send SMS messages and check your balance directly from your Symfony application.

Packagist Version License: BSD-3-Clause PHP >= 8.1 Symfony ^6|^7

Requirements

  • PHP >= 8.1
  • Symfony 6.x or 7.x

Installation

composer require devcodesms/devcode-sms-bundle

Setup

1. Register the bundle

Add to config/bundles.php (Symfony Flex does this automatically):

return [
    // ...
    DevcodeSms\Bundle\DevcodeSmsBundle::class => ['all' => true],
];

2. Add your API key to .env

DEVCODE_SMS_API_KEY=your_api_key_here

3. Create the config file

Create config/packages/devcode_sms.yaml:

devcode_sms:
    api_key: '%env(DEVCODE_SMS_API_KEY)%'
    # Optional:
    # base_url: 'https://devcodesms.com/developpeur'
    # timeout: 10

Usage

Inject the client into your service or controller

use DevcodeSms\Bundle\DevcodeSmsClient;
use DevcodeSms\Bundle\Exception\DevcodeSmsException;

class NotificationService
{
    public function __construct(private DevcodeSmsClient $sms) {}

    public function sendWelcome(string $phone): void
    {
        try {
            $result = $this->sms->sendSms(
                sender:  'MyApp',
                phone:   $phone,           // International format: +237659373726
                message: 'Bienvenue sur MyApp!',
            );

            if ($result->isSuccess()) {
                // SMS accepted by the API
            }
        } catch (DevcodeSmsException $e) {
            // Network or API error
            echo $e->getMessage();
        }
    }
}

Send bulk SMS

$results = $this->sms->sendBulkSms(
    sender:  'MyApp',
    phones:  ['+237659000001', '+237659000002', '+237659000003'],
    message: 'Offre flash — 20% de réduction aujourd\'hui!',
);

foreach ($results as $result) {
    echo $result->isSuccess() ? '' : '';
    echo ' ' . $result->getMessage() . PHP_EOL;
}

Check balance

$balance = $this->sms->getBalance();

if ($balance->isSuccess()) {
    echo sprintf('Crédits restants : %d SMS', $balance->getBalance());
}

Configuration reference

# config/packages/devcode_sms.yaml
devcode_sms:
    api_key:  '%env(DEVCODE_SMS_API_KEY)%'  # required
    base_url: 'https://devcodesms.com/developpeur'  # optional
    timeout:  10  # optional, seconds (default: 10)

API Reference

DevcodeSmsClient

Method Returns Description
sendSms(string $sender, string $phone, string $message) SmsResponse Send a single SMS
sendBulkSms(string $sender, array $phones, string $message) SmsResponse[] Send to multiple recipients
getBalance() BalanceResponse Check remaining credits

SmsResponse

Method Type Description
isSuccess() bool true when status is 200
getStatus() int HTTP-like status code
getCode() string Short status string
getMessage() string Human-readable message
toArray() array Serialise to array

BalanceResponse

Method Type Description
isSuccess() bool true when status is 200
getBalance() int Remaining SMS credits
getMessage() string Human-readable message
toArray() array Serialise to array

DevcodeSmsException

Method Type Description
getMessage() string Human-readable description
getStatusCode() int|null HTTP code or null for network errors
getRawResponse() string|null Raw server response body

Running tests

composer install
./vendor/bin/phpunit

Get your API key

  1. Create an account at devcodesms.com
  2. Subscribe to an SMS plan
  3. Generate your key in the API Key section

Support

License

BSD-3-Clause © 2024 DevCode SMS

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2026-04-01

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固