vonage / vonage-laravel
为 Laravel 提供的 Vonage PHP SDK 服务提供者
Requires
- php: ^8.0|^8.1|^8.2
- illuminate/support: ^9.0|^10.0|^11.0
- vonage/client: ^4.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^9.0
- phpunit/phpunit: ^5.3|~6.0|~8.0|~9.0|^10.5|^11.0
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-08-31 00:33:45 UTC
README
Vonage Package for Laravel
简介
这是一个用于集成Vonage PHP 客户端库的 Laravel 服务提供者。
要求
由于 PHP 版本限制,此包适用于 Laravel 9.x 及以上版本。您需要运行 PHP 8.0 及以上版本 - 对于旧版本兼容性,您需要查看之前的版本。
安装
使用 Composer,在终端运行以下命令
composer require vonage/vonage-laravel
处理 Guzzle 客户端问题
默认情况下,此包使用 vonage/client,它包含一个用于访问 API 的 Guzzle 适配器。一些其他库提供自己的 Guzzle 适配器,导致 composer 无法解析依赖列表。当您将 vonage/vonage-laravel
添加到应用程序中时,可能会因此出现错误。
Vonage 客户端允许您覆盖正在使用的 HTTP 适配器。这需要更多的配置,但此包允许您使用 vonage/client-core
来提供自己的 HTTP 适配器。
要这样做
运行 composer require vonage/client-core
使用 Composer 安装核心 SDK。
安装您自己的 httplug 兼容适配器。例如,要使用 Symfony 的 HTTP 客户端
composer require symfony/http-client php-http/message-factory php-http/httplug nyholm/psr7
composer require vonage/vonage-laravel
安装此包
在您的 .env 文件中,添加以下配置
VONAGE_HTTP_CLIENT="Symfony\\Component\\HttpClient\\HttplugClient"
现在,您可以从 Laravel 服务容器中获取 Vonage\Client 对象,或使用此包提供的 Facade。
配置
您可以使用 artisan vendor:publish
将分发配置文件复制到您的应用程序配置目录
php artisan vendor:publish --provider="Vonage\Laravel\VonageServiceProvider"
然后更新 config/vonage.php
,使用您的凭据。或者,您也可以更新您的 .env
文件如下
VONAGE_KEY=my_api_key VONAGE_SECRET=my_secret
可选地,您也可以设置一个 application_id
和 private_key
,如果需要的话
VONAGE_APPLICATION_ID=my_application_id VONAGE_PRIVATE_KEY=./private.key
私钥可以是上述文件路径,也可以是密钥本身的字符串
VONAGE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n[...]\n-----END PRIVATE KEY-----\n"
VONAGE_PRIVATE_KEY="-----BEGIN PRIVATE KEY----- [...] -----END PRIVATE KEY----- "
使用方法
要使用 Vonage 客户端库,您可以使用 Facade 或从服务容器请求实例
$text = new \Vonage\SMS\Message\SMS($toNumber, $fromNumber, 'Test SMS using Laravel'); Vonage::sms()->send($text);
或者
$vonage = app('Vonage\Client'); $text = new \Vonage\SMS\Message\SMS($toNumber, $fromNumber, 'Test SMS using Laravel'); $vonage->sms()->send($text);
如果您使用私钥认证,可以拨打电话
$outboundCall = new \Vonage\Voice\OutboundCall( new \Vonage\Voice\Endpoint\Phone('14843331234'), new \Vonage\Voice\Endpoint\Phone('14843335555') ); $outboundCall ->setAnswerWebhook( new \Vonage\Voice\Webhook('https://example.com/answer') ) ->setEventWebhook( new \Vonage\Voice\Webhook('https://example.com/event') ) ; $response = Vonage::voice()->createOutboundCall($outboundCall);
有关使用 Vonage 客户端库的更多信息,请参阅官方客户端库仓库。