ホームページ > バックエンド開発 > PHPチュートリアル > こんにちは、ララヴェル?電話を通してPHPと通信!

こんにちは、ララヴェル?電話を通してPHPと通信!

William Shakespeare
リリース: 2025-02-09 11:43:10
オリジナル
688 人が閲覧しました

この記事では、TwilioとLaravelを使用して、天気予報電話アプリケーションの構築を示しています。 この2部構成のシリーズは、パート1の音声相互作用に焦点を当てており、SMS機能はパート2に追加されます。

Hello, Laravel? Communicating with PHP through Phone Calls! ユーザーはTwilio番号を呼び出し、郵便番号を入力し、現在の天気予報を受け取ります。 音声メニューを使用すると、特定の週の予測を取得できます。

主要な機能:

Laravel内で効率的なAPI相互作用のために、TwilioのPHP SDKおよびGuzzle HTTPクライアントを活用します。

laravelのHTTPポストルートを使用して、ユーザーの入力と予測のリクエストを管理します。
    パフォーマンスを最適化し、API呼び出しを最小限に抑えるために、Laravelのキャッシュシステムを実装します。
  • セキュアリクエスト検証用のカスタムミドルウェアを含め、Twilio webhooksのCSRFをバイパスします。
  • 前提条件:
  • Homesteadが改善されました(または同等の開発環境)。 セットアップ支援については、リンクされたSitePointおよびVagrantリソースを参照してください。 PHP開発環境の本も、さらなる学習のためにリンクされています。
Laravel Projectのセットアップと依存関係:

    開発手順:
ルート(
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サービスレイヤー():クラスを作成して、ビジネスロジックをカプセル化します。 このクラスは、Geonamesからの地理的データを使用して、National Weather Service API(
  2. )から気象データの取得を処理します。 パフォーマンスの向上のためにキャッシュが実装されています。 重要な方法は、
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. 、およびapp/Services/WeatherService.php WeatherServicehttps://api.weather.govコントローラー():getWeatherは、ユーザーインタラクションを管理し、retrieveNwsDataを使用して気象データの取得を処理します。 方法には、getPointgetTimeZonegetTimestamp、およびgetCreditsが含まれます。 これらのメソッドは、コールを通してユーザーをガイドするTwilio Twiml応答を返します。

  2. Middleware(カスタムミドルウェアは、Twilio requestvalidatorを使用してTwilioからの着信要求を検証し、正当なリクエストのみが処理されるようにします。 CSRF保護は、Twilio WebHooksの場合は無効です

  3. 環境変数(.env):twilio authトークン(TWILIO_APP_TOKEN)およびGeonamesユーザー名(GEONAMES_USERNAME)。

  4. ngrok:ngrokを使用して、Twilio Webhookコールのためにローカル開発サーバーをインターネットに公開します。 ホストヘッダーを正しく処理するには、オプションを使用することを忘れないでください。 -host-header

  5. Twilioセットアップ:

    音声とSMS機能を備えたTwilioの電話番号を取得します。 Twilioアカウント設定でWebHook URLを構成して、NGROKに曝露したルートを指す。

  6. 生産上の考慮事項:
HTTPSへの切り替えは、生産展開に推奨されます。

結論:この記事の詳細は、機能的な音声ベースの気象アプリケーションを作成します。パート2では、これをSMS機能を含むように拡張します。 githubリポジトリ(元のテキストで提供されていないリンク)には、完全なコードが含まれます。

faqs(元のテキストから、再フォーマット):

元のテキストのFAQセクションは広範であり、Laravelを異なる通信サービス(Twilio、Plivo、Sinch)と統合するさまざまな側面をカバーしています。 質問は提供されたテキストを書き直すためだけに尋ねるので、私はこのセクションを簡潔に省略しました。 ただし、このセクションを含めたい場合は、お知らせください。

以上がこんにちは、ララヴェル?電話を通してPHPと通信!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート