progrupa / sms-bundle
发送短信消息的套餐
dev-master
2021-12-15 13:17 UTC
Requires
- php: >=5.4
- smsapi.pl/php-client: ~1.6
Requires (Dev)
- phake/phake: 2.*
- phpunit/phpunit: 4.3.*
This package is auto-updated.
Last update: 2024-09-15 19:22:26 UTC
README
一个可扩展的 Symfony2 套餐,用于发送简单的短信消息。
安装
此套餐通过 composer 提供,只需调用 composer require progrupa/sms-bundle:dev-master
或将 "progrupa/sms-bundle": "dev-master"
添加到您的 composer.json 中,然后调用 composer update progrupa/sms-bundle
。
然后在您的 AppKernel.php 中启用此套餐
new Progrupa\SmsBundle\ProgrupaSmsBundle()
基本配置
# config.yml
progrupa_sms:
transport: 'smsapi.pl'
使用方法
$result = $this->get('progrupa.sms')->send('48111222333', 'Text message');
if ($result->isSuccess) {
echo "SMS was sent";
}
默认提供商
该套餐提供对 SmsApi.pl 消息服务的支持。要使用它,您需要提供活跃账户的凭证。这可以通过套餐配置完成
progrupa_sms:
smsapi_pl:
username: YourUsername
password: YourPassword
options:
from: Awesome Co
encoding: utf-8
options
部分允许您指定希望与发送操作一起传递的任何选项。完整文档可在提供商的网站上找到 网站
自定义传输
为了支持您自己的短信提供商,您需要创建一个 TransportInterface 类,将其声明为服务并标记为 progrupa.sms.transport
。然后配置 Progrupa Sms Bundle 以使用您的传输而不是默认传输。
示例传输
use Progrupa\SmsBundle\Model\Result; use Progrupa\SmsBundle\Model\Sms; use Progrupa\SmsBundle\Transport\TransportInterface; class MyAwesomeTransport implements TransportInterface { /** * @param Sms $sms Message to be sent * @return Result */ public function send(Sms $sms) { $result = $this->magic->sendSMS($sms->recipient, $sms->message); return $result; } }
示例服务配置
<service id="foo.my_awesome_transport" class="MyAwesomeTransport"> <arguments>...</arguments> <tag name="progrupa.sms.transport" alias="my_awesome_transport" /> </service>
或
services: foo.my_awesome_transport: class: MyAwesomeTransport tags: - {name: "progrupa.sms.transport", alias: "my_awesome_transport"}
示例配置
# config.yml
progrupa_sms:
transport: 'my_awesome_transport'
贡献
我们欢迎提供新传输支持或新功能的 pull 请求,欢迎联系我们。