ホームページ  >  記事  >  PHPフレームワーク  >  Laravelでテキストメッセージを送信する方法

Laravelでテキストメッセージを送信する方法

PHPz
PHPzオリジナル
2023-04-21 11:20:48838ブラウズ

Laravel は、開発者が Web アプリケーションをより迅速に構築できるようにする一連の便利な機能を提供する非常に人気のあるオープンソース PHP フレームワークです。その 1 つはテキスト メッセージの送信です。この記事では、Laravelを使用してSMSを送信する方法を学びます。

Laravel では、SMS サービスプロバイダーの API を使用してテキストメッセージを送信できます。一般的に使用される SMS サービス プロバイダーには、Twilio、Nexmo、Plivo などがあります。この記事では、SMS サービス プロバイダーとして Twilio を採用します。

Twilio を使用してテキスト メッセージを送信するには、Twilio SDK をインストールする必要があります。Composer を使用してインストールできます。ターミナルで次のコマンドを入力します。

composer require twilio/sdk

インストールが完了したら、次の内容を config/app.php 構成ファイルに追加します。

'providers' => [
  ...
  Twilio\Rest\ClientServiceProvider::class,
],

'aliases' => [
  ...
  'Twilio' => Twilio\Rest\ClientFacade::class,
],

これにより、Twilio SDK が追加されます。処理中の Laravel アプリケーション。

次に、Twilio アカウント情報を設定する必要があります。 .env ファイルに次のコンテンツを追加します。

TWILIO_SID=your-account-sid
TWILIO_AUTH_TOKEN=your-auth-token
TWILIO_PHONE_NUMBER=your-twilio-phone-number

ここで、your-account-sid と your-auth-token は Twilio アカウントの SID と認証トークン、your-twilio-phone-number は Twilio アカウントの SID と認証トークンです。 Twilio アカウントの電話番号。

次に、テキスト メッセージを送信するコードを記述します。 Laravel アプリケーションでは、コントローラーで次のコードを使用して SMS を送信できます。

use Illuminate\Http\Request;
use Twilio\Rest\Client;

class SMSController extends Controller
{
  public function sendSMS(Request $request)
  {
    $accountSid = env('TWILIO_SID');
    $authToken = env('TWILIO_AUTH_TOKEN');
    $twilioPhoneNumber = env('TWILIO_PHONE_NUMBER');

    $client = new Client($accountSid, $authToken);

    $client->messages->create(
        $request->input('recipient'), // 接收人的电话号码
        [
            'from' => $twilioPhoneNumber,
            'body' => $request->input('message') // 短信内容
        ]
    );
  }
}

上記のコードでは、まず .env ファイル内の Twilio アカウント情報を取得し、次に次の方法で Twilio クライアントを作成します。テキストメッセージを送信します。

コード内の $message 変数は送信するテキスト メッセージの内容であり、$recipient 変数はテキスト メッセージの送信先の受信者の電話番号です。ここでは、フォームに「message」という名前の入力ボックスと「recipient」という名前の入力ボックスがあると仮定します。

Laravel のフォーム検証機能を使用すると、フォーム入力が有効であることを確認できます。たとえば、コントローラーのストレージ メソッドに次のコードを挿入して、フォーム入力を検証できます。

use Illuminate\Http\Request;
use Twilio\Rest\Client;
use Illuminate\Support\Facades\Validator;

class SMSController extends Controller
{
  public function sendSMS(Request $request)
  {
    $validator = Validator::make($request->all(), [
        'recipient' => 'required',
        'message' => 'required',
    ]);

    if ($validator->fails()) {
        return redirect('sms')
                    ->withErrors($validator)
                    ->withInput();
    }

    $accountSid = env('TWILIO_SID');
    $authToken = env('TWILIO_AUTH_TOKEN');
    $twilioPhoneNumber = env('TWILIO_PHONE_NUMBER');

    $client = new Client($accountSid, $authToken);

    $client->messages->create(
        $request->input('recipient'), // 接收人的电话号码
        [
            'from' => $twilioPhoneNumber,
            'body' => $request->input('message') // 短信内容
        ]
    );
  }
}

この検証により、受信者フィールドとメッセージ フィールドの両方が入力されていることを確認できます。

フォームにテキスト メッセージの内容を入力して送信ボタンをクリックすると、SMSController の sendSMS メソッドが呼び出され、sendSMS メソッドは Twilio SDK を使用してテキスト メッセージを送信します。

概要

この記事では、Laravel で Twilio を使用して SMS を送信する方法を学びました。数行のコードを使用するだけで、アプリケーションに SMS 機能を簡単に追加でき、アプリケーションがより強力で、機能が充実し、使いやすくなります。

以上がLaravelでテキストメッセージを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。