nitra / sms-bundle
此包已被弃用且不再维护。未建议替代包。
Nitra SMSBundle,通过 smsc.ru 发送短信
dev-master
2014-12-09 15:00 UTC
Requires
- doctrine/doctrine-fixtures-bundle: dev-master
- nitra/admingenerator-bundle: dev-master
- nitra/doctrine-behaviors: dev-master
- nitra/e-commerce-admin-extensionsbundle: dev-master
This package is not auto-updated.
Last update: 2018-05-06 21:29:43 UTC
README
通过 SMS-中心 www.smsc.ru 发送 SMS-消息。
连接
配置
发送示例
连接
composer.json
{
...
"require": {
...
"nitra/sms-bundle": "dev-master",
...
}
...
}
app/AppKernel.php
<?php
//...
class AppKernel extends Kernel
{
//...
public function registerBundles()
{
//...
$bundles = array(
//...
// NitraSMSBundle
new Nitra\SMSBundle\NitraSMSBundle(),
new Nitra\ExtensionsAdminBundle\NitraExtensionsAdminBundle(),
//...
);
//...
return $bundles;
}
//...
}
app/config/routing.yml
...
NitraSMSBundle:
resource: "@NitraSMSBundle/Resources/config/routing.yml"
prefix: /
...
配置
app/config/parameters.yml.dist
配置已移至项目 app/config 下的 parameters.yml 文件。
...
nitra_sms_login: "login"
nitra_sms_password: "password"
...
app/config/config.yml
默认配置文件为项目 app/config 下的 config.yml。
...
nitra_sms:
# авторизация
login: "%nitra_sms_login%"
password: "%nitra_sms_password%"
use_https: false
# Имя отправителя sms-сообщения
sender: "sms-center-sender"
# хост
host: "smsc.ru"
charset: "utf-8"
# sms-сообщения будут оправляться только в указанных окружениях
# для prod - будет отправлено sms-сообщение и будет создан лог отпраки
# для dev - будет создан тлько лог отправки
allow_environments:
- "prod"
# массив сущностей с которыми работает бандл
entity:
sms: "Nitra\\TetradkaSMSBundle\\Entity\\Sms"
# форматы sms-сообщений
formats:
1: "flash=1"
2: "push=1"
3: "hlr=1"
4: "bin=1"
5: "bin=2"
6: "ping=1"
...
发送示例
NewController.php
Admingenerated\NitraSMSBundle\BaseSmsController\NewController.php
<?php
// ...
/**
* Получить сервис отправки sms-сообщений
* @return \Nitra\SMSBundle\Lib\SmsProcessor\Processor
*/
public function getNitraSms()
{
return $this->get('nitra.sms');
}
/**
* Сохранить новую запись в БД
* @param \Nitra\MiniTetradkaBundle\Entity\Sms $Sms
*/
protected function saveObject(\Nitra\TetradkaSMSBundle\Entity\Sms $Sms)
{
// получить sms-сообщение
$smsMessage = $this->getNitraSms()->getNewSms()
->setPhones($Sms->getPhone())
->setMessage($Sms->getMessage());
// отправить sms сообщение
// отключаем логирование потому что создаем лог вручную текущим контроллером
$smsSend = $this->getNitraSms()->send($smsMessage, false);
// сохранить лог родителем
parent::saveObject($Sms);
}
// ...