Nexmo Laravel 项目教程
项目介绍
Nexmo Laravel 是一个 Laravel 服务提供者,用于将 Vonage 的功能(如 SMS 和语音通话)集成到你的 Laravel 应用中。该项目已经迁移到新的仓库 Vonage/vonage-laravel,因此建议在新项目中使用新仓库。
项目快速启动
安装
首先,通过 Composer 安装 Nexmo Laravel 包:
composer require nexmo/laravel
配置
在 Laravel 5.5 及以上版本中,包会自动注册服务提供者和门面。对于 Laravel 5.4 及以下版本,需要在 config/app.php
中添加服务提供者和门面:
'providers' => [
// 其他服务提供者
Nexmo\Laravel\NexmoServiceProvider::class,
],
'aliases' => [
'Nexmo' => Nexmo\Laravel\Facade\Nexmo::class,
],
设置环境变量
在 .env
文件中添加以下配置:
NEXMO_KEY=my_api_key
NEXMO_SECRET=my_secret
使用示例
以下是一个简单的示例,展示如何使用 Nexmo 发送 SMS:
use Nexmo\Laravel\Facade\Nexmo;
Nexmo::message()->send([
'to' => '1234567890',
'from' => 'MyApp',
'text' => 'Hello from Nexmo!',
]);
应用案例和最佳实践
发送验证码
在用户注册或登录时,发送验证码是一种常见的应用场景。以下是一个示例:
use Nexmo\Laravel\Facade\Nexmo;
$verificationCode = mt_rand(1000, 9999);
Nexmo::message()->send([
'to' => '1234567890',
'from' => 'MyApp',
'text' => 'Your verification code is: ' . $verificationCode,
]);
语音通话
Nexmo 也支持语音通话功能。以下是一个简单的示例:
use Nexmo\Laravel\Facade\Nexmo;
Nexmo::calls()->create([
'to' => [[
'type' => 'phone',
'number' => '1234567890'
]],
'from' => [
'type' => 'phone',
'number' => '0987654321'
],
'answer_url' => ['https://example.com/answer'],
'event_url' => ['https://example.com/event'],
]);
典型生态项目
Laravel Vonage Notification Channel
Laravel Vonage Notification Channel 是一个用于 Laravel 的通知通道,允许你通过 Vonage 发送通知。该项目是 Nexmo Laravel 的替代品,建议在新项目中使用。
安装
composer require laravel/vonage-notification-channel
配置
在 config/services.php
中添加以下配置:
'vonage' => [
'key' => env('VONAGE_KEY'),
'secret' => env('VONAGE_SECRET'),
],
使用示例
以下是一个简单的示例,展示如何使用 Vonage 发送通知:
use Illuminate\Notifications\Notification;
use Illuminate\Notifications\Messages\VonageMessage;
class AccountApproved extends Notification
{
public function toVonage($notifiable)
{
return (new VonageMessage)
->content('Your account has been approved!');
}
}
通过以上步骤,你可以快速集成 Nexmo 或 Vonage 的功能到你的 Laravel 应用中,实现 SMS 发送、语音通话等功能。