fourlabs/plivo-bundle

Plivo Bundle for Symfony - 发送和接收短信

1.2.1 2018-07-10 14:54 UTC

This package is auto-updated.

Last update: 2024-09-22 07:31:28 UTC


README

StyleCI Total Downloads License

安装

使用composer安装

    $ composer require fourlabs/plivo-bundle eightpoints/guzzle-bundle

将这些包添加到app/AppKernel.php

<?php
    //...
    $bundles = [
        // ...
        // FLPlivoBundle depends on GuzzleBundle and MisdPhoneNumberBundle
        // Add them if they're not already present in your $bundles
        new EightPoints\Bundle\GuzzleBundle\EightPointsGuzzleBundle(), 
        new Misd\PhoneNumberBundle\MisdPhoneNumberBundle(), 
        new FL\PlivoBundle\FLPlivoBundle(),    
    ];
            

示例配置

app/config/config.yml

# Guzzle Configuration
eight_points_guzzle:
    clients:
        plivo: # configure plivo client
            base_url: 'https://api.plivo.com/v1/Account/%plivo_auth_id%/'
            headers:
                Accept: "application/json"
            options:
                auth:
                    - %plivo_auth_id% # user
                    - %plivo_auth_token% # password
                timeout: 30

# Plivo Configuration
fl_plivo:
  sms_incoming_class: AppBundle\Entity\SmsIncoming
  sms_outgoing_class: AppBundle\Entity\SmsOutgoing
  development_mode: true # if set to true, sms will not be sent - defaults to false

app/config/services.yml

guzzle.client.plivo:
  alias: eight_points_guzzle.client.plivo

app/config/routing.yml

fl_plivo:
    resource: "@FLPlivoBundle/Resources/config/routing.yml"
    prefix:   /

建议实现

  • 为你的ORM/ODM(例如Doctrine)创建一个扩展\Plivo\Model\SmsIncoming的实体
  • 创建一个扩展\Plivo\Model\SmsOutgoing的实体
  • 如果你使用Doctrine,你可以通过导入它们来使用相应的事件监听器。
# app/config/config.yml
imports:
    - { resource: "@FLPlivoBundle/Resources/config/event-listener/doctrine.yml"}
  • 如果你没有使用Doctrine,创建你自己的事件监听器并提交一个pull request ;)
  • 要接收短信,请遵循Plivo的说明
  • 使用对应的URL来配置路由fl_plivo.post_message(如果你导入的是默认的路由文件,没有前缀,这将是/api/v1.0/message)

许可证

PlivoBundle在MIT许可证下发布。