>本文展示了使用Twilio和Laravel構建天氣預報的電話應用程序。 這個兩部分的系列側重於第一部分的語音交互,並在第二部分中添加SMS功能。
>
密鑰功能:
宅基地改進(或可比的開發環境)。 請參閱鏈接的Sitepoint和Vagrant Resources以進行設置幫助。 PHP開發環境書籍還鏈接了以進行進一步學習。
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"
路由(
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'); });
創建一個類以封裝業務邏輯。 該課程使用GeOnames的地理數據來處理來自國家氣象服務API(app/Services/WeatherService.php
)的檢索天氣數據。 實施緩存以提高性能。 關鍵方法為>,WeatherService
,https://api.weather.gov
,getWeather
,retrieveNwsData
,getPoint
。
getTimeZone
getTimestamp
getCredits
管理用戶交互,使用app/Http/Controllers/VoiceController.php
處理天氣數據檢索。 方法包括,VoiceController
,WeatherService
和showEnterZipcode
。 這些方法返回twilio twiml響應,引導用戶通過呼叫。 showZipcodeWeather
showDayWeather
showCredits
>
>環境變量(.env
):配置您的twilio auth token(TWILIO_APP_TOKEN
)和geonames username(GEONAMES_USERNAME
>選項正確處理主機標頭。 >
-host-header
>生產注意事項:
建議用於生產部署的https端點。結論:
>原始文本的FAQ部分廣泛,涵蓋了將Laravel與不同的通信服務集成的各個方面(Twilio,Plivo,Sinch)。 由於這個問題僅要求重寫提供的文本,因此我省略了本節的簡潔性。 但是,如果您願意包含此部分,請讓我知道。 >
以上是你好,拉拉維爾?通過電話與PHP通信!的詳細內容。更多資訊請關注PHP中文網其他相關文章!