Maison  >  Article  >  cadre php  >  Comment envoyer des messages texte dans Laravel

Comment envoyer des messages texte dans Laravel

PHPz
PHPzoriginal
2023-04-21 11:20:48820parcourir

Laravel est un framework PHP open source très populaire qui fournit une série de fonctionnalités pratiques qui permettent aux développeurs de créer des applications Web plus rapidement. L’un d’eux envoie des SMS. Dans cet article, nous apprendrons comment envoyer des SMS avec Laravel.

Dans Laravel, nous pouvons envoyer des messages SMS en utilisant l'API du fournisseur de services SMS. Les fournisseurs de services SMS couramment utilisés incluent Twilio, Nexmo et Plivo. Dans cet article, nous adopterons Twilio comme fournisseur de services SMS.

L'utilisation de Twilio pour envoyer des messages texte nécessite l'installation du SDK Twilio. Vous pouvez utiliser Composer pour l'installer. Sur votre terminal, saisissez la commande suivante :

composer require twilio/sdk

Une fois l'installation terminée, ajoutez le contenu suivant dans le fichier de configuration config/app.php :

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

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

Cela ajoutera le SDK Twilio à l'application Laravel.

Ensuite, nous devons configurer les informations du compte Twilio. Ajoutez le contenu suivant dans le fichier .env :

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

Ici votre-account-sid et votre-auth-token sont le SID et le jeton d'authentification de votre compte Twilio, votre-twilio-phone-number est le téléphone de votre compte Twilio Nombre.

Ensuite, nous pouvons écrire le code pour envoyer des messages texte. Dans notre application Laravel, nous pouvons utiliser le code suivant dans le contrôleur pour envoyer des 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') // 短信内容
        ]
    );
  }
}

Dans le code ci-dessus, nous récupérons d'abord les informations du compte Twilio dans le fichier .env puis envoyons le SMS en créant un client Twilio.

La variable $message dans le code est le contenu du message texte que nous voulons envoyer, et la variable $recipient est le numéro de téléphone du destinataire à qui nous voulons envoyer le message texte. Ici, nous supposons que notre formulaire comporte une zone de saisie nommée message et une zone de saisie nommée destinataire.

La fonction de validation de formulaire de Laravel peut garantir que nos entrées de formulaire sont valides. Par exemple, nous pouvons insérer le code suivant dans la méthode de stockage du contrôleur pour valider la saisie du formulaire :

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

Avec cette validation, nous pouvons nous assurer que à la fois le champ destinataire et le champ message sont remplis.

Lorsque nous remplissons le contenu du message texte dans le formulaire et cliquons sur le bouton d'envoi, la méthode sendSMS dans SMSController sera appelée et la méthode sendSMS utilisera le SDK Twilio pour envoyer le message texte.

Résumé

Dans cet article, nous avons appris comment envoyer des SMS en utilisant Twilio dans Laravel. Avec quelques lignes de code, nous pouvons facilement ajouter des fonctionnalités SMS à nos applications, rendant nos applications plus puissantes, riches et faciles à utiliser.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn