首頁 > 後端開發 > php教程 > 你好,拉拉維爾?通過電話與PHP通信!

你好,拉拉維爾?通過電話與PHP通信!

William Shakespeare
發布: 2025-02-09 11:43:10
原創
716 人瀏覽過

>本文展示了使用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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板