Pembangunan Laravel: Bagaimana untuk menggunakan Pemberitahuan Laravel untuk menghantar mesej teks dan e-mel?
Laravel ialah rangka kerja aplikasi web berasaskan PHP yang popular yang menyediakan sejumlah besar ciri dan alatan untuk memudahkan pembangunan aplikasi web. Pemberitahuan Laravel ialah ciri penting rangka kerja Laravel, yang menyediakan cara yang mudah dan pantas untuk menghantar pemberitahuan, termasuk pemberitahuan SMS dan e-mel.
Dalam artikel ini, kami akan mendalami cara menggunakan Pemberitahuan Laravel untuk menghantar pemberitahuan SMS dan e-mel.
Langkah 1: Pasang kebergantungan yang diperlukan
Sebelum kita bermula, kita perlu memasang dua kebergantungan yang diperlukan: rangka kerja Laravel dan komponen Pemberitahuan Laravel.
Jika anda sudah mempunyai aplikasi Laravel maka anda boleh melangkau langkah ini, jika tidak, buka terminal dan masukkan arahan berikut untuk mencipta aplikasi Laravel baharu:
composer create-project --prefer-dist laravel/laravel my-app
Setelah mencipta aplikasi, kita boleh pasang komponen Pemberitahuan Laravel, cuma jalankan arahan berikut dalam terminal:
composer require laravel-notification-channels/nexmo
Perintah ini akan memasang pemacu pemberitahuan nexmo, iaitu pemacu pemberitahuan yang boleh digunakan untuk menghantar pemberitahuan SMS dan suara .
Langkah 2: Buat kelas pemberitahuan
Kami perlu mencipta kelas pemberitahuan untuk menentukan pemberitahuan SMS dan e-mel yang akan dihantar. Kami boleh mencipta kelas pemberitahuan baharu dalam aplikasi Laravel kami menggunakan arahan berikut:
php artisan make:notification NewOrder
Perintah ini akan mencipta kelas pemberitahuan baharu bernama NewOrder.php dalam direktori app/Notifications. Kelas ini mentakrifkan kandungan pemberitahuan dan cara ia dihantar.
Mari kita lihat cara mentakrifkan kelas pemberitahuan ini.
Dalam kaedah toNexmo, kami mentakrifkan kandungan dan kaedah menghantar pemberitahuan. Jika kami perlu menghantar mesej teks, kami boleh menambah kandungan berikut pada kaedah ini:
return (new NexmoMessage) ->content('你收到了一条新订单。');
Jika kami perlu menghantar pemberitahuan e-mel, kami boleh menambah kandungan berikut pada kaedah ini:
return (new MailMessage) ->line('你收到了一条新订单。') ->action('查看订单', url('/orders')) ->line('谢谢你的使用。');
Kita boleh menggunakan Kaedah lain perlu ditambah dalam kelas pemberitahuan, seperti: cc, bcc dan replyTo.
Langkah 3: Hantar pemberitahuan
Kami telah menentukan kelas pemberitahuan, kini kami perlu menghantar pemberitahuan dalam aplikasi. Laravel menyediakan beberapa cara berbeza untuk menghantar pemberitahuan, termasuk siaran global, baris gilir dan acara.
Mari lihat cara menghantar pemberitahuan dalam pengawal.
Berikut ialah coretan kod pengawal ringkas yang boleh kami gunakan untuk menghantar pemberitahuan pesanan baharu kepada pelanggan:
namespace AppHttpControllers; use AppHttpControllersController; use IlluminateHttpRequest; use IlluminateSupportFacadesNotification; use AppNotificationsNewOrder; class OrderController extends Controller { public function store(Request $request) { // 创建新订单的代码... $user = auth()->user(); Notification::send($user, new NewOrder($order)); } }
Selepas kod penciptaan setiap pesanan baharu dijalankan, kami boleh menggunakan kelas pemberitahuan NewOrder untuk menghantar pemberitahuan pesanan baharu kepada pelanggan. Dalam kod di atas, kami menggunakan fasad Pemberitahuan Laravel untuk menghantar pemberitahuan.
Langkah 4: Uji pemberitahuan
Kami telah menulis kelas pemberitahuan dan pengawal, dan menggunakan fasad Pemberitahuan Laravel untuk menghantar pemberitahuan Sekarang kami perlu menguji sama ada pemberitahuan boleh dihantar dengan betul.
Mari kita uji menghantar pemberitahuan e-mel dahulu. Tambahkan kaedah berikut pada kelas pemberitahuan untuk menetapkan alamat e-mel penerima ujian e-mel:
public function toMail($notifiable) { return (new MailMessage) ->to('test@example.com') ->line('你收到了一条新订单。') ->action('查看订单', url('/orders')) ->line('谢谢你的使用。'); }
Nota: Ini ialah alamat e-mel ujian yang anda perlu tetapkan mengikut keperluan anda.
Kini kami boleh menulis kod sekali lagi untuk mencetuskan pemberitahuan, menggunakan penerima e-mel ujian dan bukannya pelanggan sebenar:
Notification::route('mail', 'test@example.com') ->notify(new NewOrder($order));
Kami juga boleh menguji penghantaran pemberitahuan SMS, menambah baris berikut dalam kelas pemberitahuan Untuk menyediakan alamat e-mel penerima ujian SMS:
public function toNexmo($notifiable) { return (new NexmoMessage) ->to('+1234567890') ->content('你收到了一条新订单。'); }
Nota: Ini adalah nombor telefon ujian, anda perlu menyediakannya mengikut keperluan anda.
Kini kami boleh menulis kod untuk mencetuskan pemberitahuan, menggunakan penerima e-mel ujian dan bukannya pelanggan sebenar:
Notification::route('nexmo', '+1234567890') ->notify(new NewOrder($order));
Jika anda menerima pemberitahuan e-mel atau SMS, maka ia membuktikan bahawa anda telah Berjaya menggunakan Pemberitahuan Laravel untuk menghantar pemberitahuan.
Cuba gunakan Pemberitahuan Laravel untuk menghantar pemberitahuan SMS dan e-mel, harap ia dapat membantu anda membina aplikasi web yang lebih baik.
Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menghantar SMS dan e-mel menggunakan Pemberitahuan Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!