首页 > 后端开发 > php教程 > 你好,拉拉维尔?通过电话与PHP通信!

你好,拉拉维尔?通过电话与PHP通信!

William Shakespeare
发布: 2025-02-09 11:43:10
原创
692 人浏览过

>本文展示了使用Twilio和Laravel构建天气预报的电话应用程序。 这个两部分的系列侧重于第一部分的语音交互,并在第二部分中添加SMS功能。

Hello, Laravel? Communicating with PHP through Phone Calls!

用户调用Twilio号码,输入邮政编码,然后接收当前的天气预报。 语音菜单允许在一周中的特定日子中检索预测。

>

密钥功能:

    >利用Twilio的PHP SDK和Guzzle http客户端在Laravel内进行有效的API相互作用。
  • >使用Laravel中的HTTP Post路线来管理用户输入和预测请求。
  • 实现Laravel的缓存系统,以优化性能并最大程度地减少API调用。
  • 包括用于安全请求验证的自定义中间件,绕过twilio webhooks的CSRF。
  • >先决条件:

    宅基地改进(或可比的开发环境)。 请参阅链接的Sitepoint和Vagrant Resources以进行设置帮助。 PHP开发环境书籍还链接了以进行进一步学习。

      laravel项目设置和依赖项:
    开发步骤:
    cd ~/Code
    composer create-project --prefer-dist laravel/laravel Laravel 5.4.*
    cd Laravel
    composer require "twilio/sdk:^5.7"
    composer require "guzzlehttp/guzzle:~6.0"
    登录后复制

    路由(
      ):
    1. 定义语音交互的路由: routes/web.php
    Route::group(['prefix' => 'voice', 'middleware' => 'twilio'], function () {
        Route::post('enterZipcode', 'VoiceController@showEnterZipcode')->name('enter-zip');
        Route::post('zipcodeWeather', 'VoiceController@showZipcodeWeather')->name('zip-weather');
        Route::post('dayWeather', 'VoiceController@showDayWeather')->name('day-weather');
        Route::post('credits', 'VoiceController@showCredits')->name('credits');
    });
    登录后复制
      >服务层(
    1. ):

      创建一个类以封装业务逻辑。 该课程使用GeOnames的地理数据来处理来自国家气象服务API(app/Services/WeatherService.php)的检索天气数据。 实施缓存以提高性能。 关键方法为>,WeatherServicehttps://api.weather.govgetWeatherretrieveNwsDatagetPointgetTimeZone getTimestamp getCredits

      >控制器(
    2. ):
    3. >

      管理用户交互,使用app/Http/Controllers/VoiceController.php处理天气数据检索。 方法包括VoiceControllerWeatherServiceshowEnterZipcode。 这些方法返回twilio twiml响应,引导用户通过呼叫。> showZipcodeWeather showDayWeather showCredits

      >中间件(
    4. ):
    5. >自定义中间件使用Twilio RequestValidator验证了Twilio的传入请求,以确保仅处理合法请求。 twilio webhooks禁用CSRF保护。

      >

    6. >环境变量(.env):配置您的twilio auth token(TWILIO_APP_TOKEN)和geonames username()。 GEONAMES_USERNAME

    7. ngrok:使用ngrok将您的本地开发服务器公开到Internet上,以获取Twilio Webhook调用。 请记住使用

      >选项正确处理主机标头。> -host-header

    8. Twilio设置:获得具有语音和SMS功能的Twilio电话号码。在您的Twilio帐户设置中配置Webhook URL,以指向您的Ngrok暴露路线。
    9. >生产注意事项:

      建议用于生产部署的https端点。
    10. >
    >

    结论:本文详细介绍了创建基于功能性语音的天气应用程序的详细信息。第二部分将把它扩展到包括SMS功能。 GitHub存储库(原始文本中未提供的链接)将包含完整的代码。 > FAQS(来自原始文本,重新格式化):

    >

    >原始文本的FAQ部分广泛,涵盖了将Laravel与不同的通信服务集成的各个方面(Twilio,Plivo,Sinch)。 由于这个问题仅要求重写提供的文本,因此我省略了本节的简洁性。 但是,如果您愿意包含此部分,请让我知道。>

以上是你好,拉拉维尔?通过电话与PHP通信!的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板