ariaieboy / kavenegar-laravel
laravel 4 和 5 的 kavenegar 集成
Requires
README
支持的 Laravel 版本
- V.4
- V.5
- V.6
- V.7
- V.8
- V.9
- V.10
我们强烈建议您始终使用最新的 Laravel 版本。
安装
步骤 1 - 安装包
- 方法 1: 您可以直接在项目中使用 Composer 安装 kavenegar/laravel
composer require kavenegar/laravel
- 方法 2: 将以下行添加到您的项目中 Composer.json 文件
"kavenegar/php": "*"
然后运行以下命令以使用 composer 下载扩展
$ composer update
步骤 2
前往 config/app.php 并将以下行添加到 providers 数组的末尾
Kavenegar\Laravel\ServiceProvider::class,
所以数组应该是这样的
'providers' => [ /* * Laravel Framework Service Providers... */ . . . Kavenegar\Laravel\ServiceProvider::class ]
然后在 config/app.php 中,将以下行添加到 aliases 数组的末尾
'Kavenegar' => Kavenegar\Laravel\Facade::class,
步骤 3 - 发布
在您的项目目录中运行此命令
php artisan vendor:publish
在出现的信息中,找到 Kavenegar 的编号,输入相关编号然后按 Enter。例如,在下面的情况下,您必须输入 9 然后按 Enter
Which provider or tag files would you like to publish?: [0 ] Publish files from all providers and tags listed below [1 ] Provider: Facade\Ignition\IgnitionServiceProvider [2 ] Provider: Fideloper\Proxy\TrustedProxyServiceProvider [3 ] Provider: Fruitcake\Cors\CorsServiceProvider [4 ] Provider: Illuminate\Foundation\Providers\FoundationServiceProvider [5 ] Provider: Illuminate\Mail\MailServiceProvider [6 ] Provider: Illuminate\Notifications\NotificationServiceProvider [7 ] Provider: Illuminate\Pagination\PaginationServiceProvider **_ [8 ] Provider: Kavenegar\Laravel\ServiceProviderLaravel9_** . . .
步骤 4 - Api-Key
现在您必须在项目中定义您的 API 密钥。为此,转到 config/kavenegar.php,然后在代码中放置您的 API 密钥
<?php
return [
'apikey' => ' ',
];
完成设置
用法
您可以在任何地方使用此包。
- 首先使用类
use Kavenegar;
然后使用此模式发送 SMS
try{ $sender = "10004346"; //This is the Sender number $message = "خدمات پیام کوتاه کاوه نگار"; //The body of SMS $receptor = array("09361234567","09191234567"); //Receptors numbers $result = Kavenegar::Send($sender,$receptor,$message); if($result){ foreach($result as $r){ echo "messageid = $r->messageid"; echo "message = $r->message"; echo "status = $r->status"; echo "statustext = $r->statustext"; echo "sender = $r->sender"; echo "receptor = $r->receptor"; echo "date = $r->date"; echo "cost = $r->cost"; } } } catch(\Kavenegar\Exceptions\ApiException $e){ // در صورتی که خروجی وب سرویس 200 نباشد این خطا رخ می دهد echo $e->errorMessage(); } catch(\Kavenegar\Exceptions\HttpException $e){ // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد echo $e->errorMessage(); }catch(\Exceptions $ex){ // در صورت بروز خطایی دیگر echo $ex->getMessage() }
使用此模式发送 VerifyLookup SMS
try{ $receptor = "09123456789"; $token = "123"; $token2 = "456"; $token3 = "789"; $template="verify"; //Send null for tokens not defined in the template //Pass token10 and token20 as parameter 6th and 7th $result = Kavenegar::VerifyLookup($receptor, $token, $token2, $token3, $template, $type = null); if($result){ foreach($result as $r){ echo "messageid = $r->messageid"; echo "message = $r->message"; echo "status = $r->status"; echo "statustext = $r->statustext"; echo "sender = $r->sender"; echo "receptor = $r->receptor"; echo "date = $r->date"; echo "cost = $r->cost"; } } } catch(\Kavenegar\Exceptions\ApiException $e){ // در صورتی که خروجی وب سرویس 200 نباشد این خطا رخ می دهد echo $e->errorMessage(); } catch(\Kavenegar\Exceptions\HttpException $e){ // در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد echo $e->errorMessage(); }
您可以在 KaveNegar 网站上找到所有 错误处理、API 参数 和 用法方法。
在通知中使用
您还可以为通知使用 KavengarChannel
创建您的通知
php artisan make:notification InvoicePaid
从 KavenegarBaseNotification 扩展您的通知
class InvoicePaid extends KavenegarBaseNotification { }
重写 toKavengar 方法
class InvoicePaid extends KavenegarBaseNotification { public function __construct(Invoice $invoice) { $this->invoice = $invoice; } public function toKavenegar($notifiable) { return (new KavenegarMessage("فاکتور شما به شماره $invoice->id پرداخت شد."))->from('10004346'); } }
您应该在您的模型中添加 Notifiable 特性和 routeNotificationForKavenegar 方法
class User extends Authenticatable { use Notifiable; public function routeNotificationForKavenegar($driver, $notification = null) { return $this->mobile; } }
** 注意:如果您没有在可通知模型中添加 routeNotificationForKavenegar,则应在您的通知中设置接收者: **
class InvoicePaid extends KavenegarBaseNotification { public function toKavenegar($notifiable) { return (new KavenegarMessage('فاکتور شما به شماره ۱۲۳۴ پرداخت شد.'))->from('10004346')->to('092100000'); } }
发送验证查找消息时,应使用 verifyLookup 方法来设置方法名称和令牌
class InvoicePaid extends KavenegarBaseNotification { public function toKavenegar($notifiable) { return (new KavenegarMessage()) ->verifyLookup('verify_first',['token1','token2']); } }
贡献
欢迎提交错误修复、文档和增强!请通过 support@kavenegar.com 告诉我们。
## 指南介绍 KaveNegar 服务
KaveNegar 是一个提供发送和接收短信及语音通话的 Web 服务,您可以轻松使用。
创建账户
如果您还不是 KaveNegar Web 服务的成员,您可以通过 会员注册链接 注册并获取一个用于测试 API 的试用账户。
文档
要查看完整文档,请访问 短信 Web 服务 页面或 Web 服务文档 页面。
波斯语指南
如果您想阅读 KaveNegar 开发套件的波斯语指南,请访问 发送短信代码 页面。
更多信息
更多阅读,请访问Kavenegar SMS Web服务介绍页面。
如果您在使用Kavenegar服务套件时遇到问题或有建议,请通过Pull Request或发送电子邮件至support@kavenegar.com联系我们。