Artikel ini menunjukkan membina aplikasi telefon ramalan cuaca menggunakan Twilio dan Laravel. Siri dua bahagian ini memberi tumpuan kepada interaksi suara di bahagian satu, dengan fungsi SMS akan ditambah dalam bahagian dua.
Ciri -ciri Utama:
Prasyarat:
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"
Langkah -langkah pembangunan:
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'); });
): Buat kelas app/Services/WeatherService.php
untuk merangkum logik perniagaan. Kelas ini mengendalikan mendapatkan data cuaca dari API Perkhidmatan Cuaca Kebangsaan (), menggunakan data geografi dari Geonames. Caching dilaksanakan untuk prestasi yang lebih baik. Kaedah utama ialah WeatherService
, https://api.weather.gov
, getWeather
, retrieveNwsData
, getPoint
, dan getTimeZone
. getTimestamp
getCredits
Menguruskan interaksi pengguna, menggunakan app/Http/Controllers/VoiceController.php
untuk mengendalikan pengambilan data cuaca. Kaedah termasuk , VoiceController
, WeatherService
, dan showEnterZipcode
. Kaedah ini mengembalikan Twilio Twiml Responses membimbing pengguna melalui panggilan. showZipcodeWeather
showDayWeather
showCredits
middleware tersuai mengesahkan permintaan masuk dari Twilio menggunakan Twilio RequestValidator, memastikan hanya permintaan sah yang diproses. Perlindungan CSRF dilumpuhkan untuk Twilio Webhooks.
Pembolehubah Alam Sekitar (.env
): Konfigurasi Twilio Auth Token anda (TWILIO_APP_TOKEN
), dan Geonames nama pengguna (GEONAMES_USERNAME
ngrok: Gunakan ngrok untuk mendedahkan pelayan pembangunan tempatan anda ke internet untuk panggilan Twilio Webhook. Ingatlah untuk menggunakan pilihan untuk mengendalikan tajuk tuan rumah dengan betul. -host-header
Persediaan Twilio: Dapatkan nombor telefon Twilio dengan keupayaan suara dan SMS. Konfigurasikan URL Webhook dalam tetapan akaun Twilio anda untuk menunjuk ke laluan NGROK yang terdedah anda.
Pertimbangan Pengeluaran: Beralih ke titik akhir HTTPS disyorkan untuk penyebaran pengeluaran.
Kesimpulan: Butir-butir artikel ini mewujudkan aplikasi cuaca berasaskan suara yang berfungsi. Bahagian dua akan melanjutkan ini untuk memasukkan fungsi SMS. Repositori GitHub (pautan tidak disediakan dalam teks asal) akan mengandungi kod lengkap.
Seksyen Soalan Lazim dari teks asal adalah luas dan meliputi pelbagai aspek mengintegrasikan Laravel dengan perkhidmatan komunikasi yang berbeza (Twilio, Plivo, Sinch). Oleh kerana soalan itu hanya meminta menulis semula teks yang disediakan, saya telah meninggalkan seksyen ini untuk keringkasan. Walau bagaimanapun, jika anda ingin bahagian ini disertakan, sila beritahu saya.
Atas ialah kandungan terperinci Helo, Laravel? Berkomunikasi dengan PHP melalui panggilan telefon!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!