erfanhemmati / kavenegar
laravel 4 和 5 的 kavenegar 集成
Requires
This package is auto-updated.
Last update: 2024-09-20 11:37:16 UTC
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 { }
重写 toKavenegar 函数
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短信网关介绍页面。
如果您在使用Kavenegar服务套件时遇到问题或有所建议,请通过Pull Request或发送电子邮件至support@kavenegar.com联系我们,我们将感到非常高兴。