Heim  >  Artikel  >  PHP-Framework  >  So senden Sie Textnachrichten in Laravel

So senden Sie Textnachrichten in Laravel

PHPz
PHPzOriginal
2023-04-21 11:20:48820Durchsuche

Laravel ist ein sehr beliebtes Open-Source-PHP-Framework, das eine Reihe praktischer Funktionen bietet, die es Entwicklern ermöglichen, Webanwendungen schneller zu erstellen. Einer davon ist das Versenden von Textnachrichten. In diesem Artikel erfahren Sie, wie Sie SMS mit Laravel versenden.

In Laravel können wir SMS-Nachrichten senden, indem wir die API des SMS-Dienstanbieters verwenden. Zu den häufig verwendeten SMS-Dienstanbietern gehören Twilio, Nexmo und Plivo. In diesem Artikel werden wir Twilio als unseren SMS-Dienstanbieter übernehmen.

Um Twilio zum Senden von Textnachrichten zu verwenden, muss das Twilio SDK installiert sein. Sie können es mit Composer installieren. Geben Sie auf Ihrem Terminal den folgenden Befehl ein:

composer require twilio/sdk

Sobald die Installation abgeschlossen ist, fügen Sie den folgenden Inhalt in die Konfigurationsdatei config/app.php ein:

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

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

Dadurch wird das Twilio SDK zur Laravel-Anwendung hinzugefügt.

Als nächstes müssen wir die Twilio-Kontoinformationen einrichten. Fügen Sie der .env-Datei den folgenden Inhalt hinzu:

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

Hier sind your-account-sid und your-auth-token die SID und das Auth-Token Ihres Twilio-Kontos, your-twilio-phone-number ist die Telefonnummer Ihres Twilio-Kontos Nummer.

Als nächstes können wir den Code zum Versenden von Textnachrichten schreiben. In unserer Laravel-Anwendung können wir den folgenden Code im Controller zum Senden von SMS verwenden:

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') // 短信内容
        ]
    );
  }
}

Im obigen Code erhalten wir zunächst die Twilio-Kontoinformationen in der .env-Datei und senden dann die SMS, indem wir einen Twilio-Client erstellen.

Die Variable $message im Code ist der Inhalt der Textnachricht, die wir senden möchten, und die Variable $recipient ist die Telefonnummer des Empfängers, an den wir die Textnachricht senden möchten. Hier gehen wir davon aus, dass unser Formular über ein Eingabefeld mit dem Namen „Nachricht“ und ein Eingabefeld mit dem Namen „Empfänger“ verfügt.

Die Formularvalidierungsfunktion von Laravel kann sicherstellen, dass unsere Formulareingaben gültig sind. Beispielsweise können wir den folgenden Code in die Speichermethode des Controllers einfügen, um die Formulareingabe zu validieren:

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') // 短信内容
        ]
    );
  }
}

Mit dieser Validierung können wir sicherstellen, dass sowohl das Empfängerfeld als auch das Nachrichtenfeld ausgefüllt sind.

Wenn wir den Inhalt der Textnachricht in das Formular eingeben und auf die Schaltfläche „Senden“ klicken, wird die sendSMS-Methode in SMSController aufgerufen und die sendSMS-Methode verwendet das Twilio SDK zum Senden der Textnachricht.

Zusammenfassung

In diesem Artikel haben wir gelernt, wie man SMS mit Twilio in Laravel sendet. Mit ein paar Codezeilen können wir unseren Anwendungen ganz einfach SMS-Funktionalität hinzufügen und so unsere Anwendungen leistungsfähiger, umfangreicher und benutzerfreundlicher machen.

Das obige ist der detaillierte Inhalt vonSo senden Sie Textnachrichten in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn