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 KEY
<?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() }
使用此模式发送验证查找 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 的试用账户。
文档
要查看完整文档信息,请访问短信网关服务页面或网关服务文档页面。
波斯语指南
如果您想阅读波斯语版的Kavenegar开发套件指南,请访问短信发送代码页面。
更多信息
更多介绍,请访问Kavenegar短信网关服务介绍页面。
如果您在使用Kavenegar服务套件时遇到问题或有建议,请通过发送Pull Request或发送电子邮件至support@kavenegar.com与我们联系。