Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk menghantar mesej teks dalam laravel

Bagaimana untuk menghantar mesej teks dalam laravel

PHPz
PHPzasal
2023-04-21 11:20:48819semak imbas

Laravel ialah rangka kerja PHP sumber terbuka yang sangat popular yang menyediakan satu siri ciri mudah yang membolehkan pembangun membina aplikasi web dengan lebih cepat. Salah satunya adalah menghantar mesej teks. Dalam artikel ini, kita akan belajar cara menghantar SMS menggunakan Laravel.

Dalam Laravel, kami boleh menghantar mesej teks dengan menggunakan API pembekal perkhidmatan SMS. Pembekal perkhidmatan SMS yang biasa digunakan termasuk Twilio, Nexmo dan Plivo. Dalam artikel ini, kami akan menerima pakai Twilio sebagai pembekal perkhidmatan SMS kami.

Menggunakan Twilio untuk menghantar mesej teks memerlukan Twilio SDK dipasang Anda boleh menggunakan Composer untuk memasangnya. Pada terminal anda, masukkan arahan berikut:

composer require twilio/sdk

Setelah pemasangan selesai, tambah kandungan berikut pada fail konfigurasi config/app.php:

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

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

Ini akan menambah Twilio SDK Ditambah pada aplikasi Laravel.

Seterusnya, kami perlu menyediakan maklumat akaun Twilio. Tambahkan kandungan berikut dalam fail .env:

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

di mana your-account-sid dan your-auth-token ialah SID dan Auth Token akaun Twilio anda dan your-twilio-phone-nombor ialah Nombor telefon untuk akaun Twilio anda.

Seterusnya, kita boleh menulis kod untuk menghantar mesej teks. Dalam aplikasi Laravel kami, kami boleh menggunakan kod berikut dalam pengawal untuk menghantar 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') // 短信内容
        ]
    );
  }
}

Dalam kod di atas, kami mula-mula mendapatkan maklumat akaun Twilio dalam fail .env dan kemudian menciptanya oleh Twilio pelanggan untuk menghantar mesej teks.

Pembolehubah $mesej dalam kod ialah kandungan mesej teks yang ingin kami hantar dan pembolehubah $recipient ialah nombor telefon penerima yang kami ingin hantar mesej teks itu. Di sini kami menganggap bahawa borang kami mempunyai kotak input bernama mesej dan kotak input bernama penerima.

Fungsi pengesahan borang Laravel boleh memastikan bahawa input borang kami adalah sah. Sebagai contoh, kita boleh memasukkan kod berikut dalam kaedah storan pengawal untuk mengesahkan input borang:

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

Dengan pengesahan ini, kami boleh memastikan bahawa kedua-dua medan penerima dan medan mesej telah diisi.

Apabila kami mengisi kandungan mesej teks dalam borang dan klik butang hantar, kaedah sendSMS dalam SMSController akan dipanggil, dan kaedah sendSMS akan menggunakan Twilio SDK untuk menghantar mesej teks.

Ringkasan

Dalam artikel ini, kami mempelajari cara menghantar SMS menggunakan Twilio dalam Laravel. Dengan beberapa baris kod, kami boleh menambah kefungsian SMS pada aplikasi kami dengan mudah, menjadikan aplikasi kami lebih berkuasa, kaya dan mudah digunakan.

Atas ialah kandungan terperinci Bagaimana untuk menghantar mesej teks dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn