Laravel ialah rangka kerja aplikasi web PHP yang digunakan secara meluas yang menyediakan sintaks moden, elegan dan kaya ciri untuk membina aplikasi web. Rangka kerja Laravel menyediakan pelbagai alat dan fungsi, termasuk menghantar pemberitahuan. Pemberitahuan ialah teknologi yang menghantar mesej visual atau suara kepada pengguna atau sistem lain. Pemberitahuan boleh berupa amaran mudah atau arahan yang rumit, dan ia boleh menjadi tak segerak supaya ia boleh digunakan semasa operasi yang berjalan lama.
Dalam artikel ini, kita akan belajar cara menggunakan Pemberitahuan Laravel untuk menghantar pemberitahuan. Kami juga akan melihat jenis pemberitahuan, acara dan saluran. Matlamat kami adalah untuk mencipta aplikasi web mudah yang menggunakan pemberitahuan Laravel untuk menghantar pemberitahuan dan memahami jenisnya yang berbeza.
Sebelum memasukkan kandungan artikel ini, kami perlu memastikan bahawa keperluan berikut dipenuhi:
Pemberitahuan Laravel ialah kelas yang berkuasa untuk memudahkan pengendalian pemberitahuan. Pemberitahuan boleh dihantar ke berbilang saluran, termasuk e-mel, SMS, Mel dan aplikasi pemesejan segera seperti Slack. Dengan Pemberitahuan Laravel, anda boleh membuat pemberitahuan dengan saluran tertentu dan menghantarnya dengan cepat kepada pengguna. Pemberitahuan boleh diproses secara tak segerak untuk mengelakkan kelewatan dalam mula menghantar pemberitahuan.
Pemberitahuan Laravel pada asasnya mempunyai dua bahagian berikut:
Kebanyakan pembangun biasanya mentakrifkan jenis pemberitahuan sebagai kaedah model dalam aplikasi supaya kaedah dipanggil apabila pemberitahuan perlu dihantar.
Pemberitahuan Laravel pada asasnya ialah kelas PHP mudah yang mewarisi kelas asas IlluminateNotificationsNotification rangka kerja. Setiap pemberitahuan boleh dihantar melalui berbilang saluran, termasuk e-mel, Slack dan webhook tersuai.
Untuk menggunakan pemberitahuan, tentukan kelas pemberitahuan dalam aplikasi anda. Kelas pemberitahuan mewakili mesej teks kaya (badan mesej) pemberitahuan, yang dibuat sebagai contoh mesej sebelum mesej pemberitahuan dihantar ke saluran. Seterusnya, hantar pemberitahuan ini melalui saluran lain untuk diproses.
Sebagai contoh, kami boleh membuat pemberitahuan mesej yang mengingatkan pengguna bahawa langganan mereka akan tamat tempoh. Untuk menghantar pemberitahuan ini, kami boleh membuat kelas pemberitahuan baharu dalam aplikasi Lavarel, seperti:
php artisan make:notification SubscriptionEnding
Sekarang kami telah mencipta pemberitahuan Tamat Langganan, seterusnya kami Pemberitahuan ini boleh dihantar melalui e-mel.
Anda perlu mengkonfigurasi sistem Mel Laravel untuk menghantar e-mel. Anda boleh menggunakan Artisan untuk memastikan tetapan SMTP/IMAP anda betul untuk menggunakan perkhidmatan mel dalam aplikasi anda.
php artisan config:cache
Sekarang kami telah mengkonfigurasi tetapan berkaitan e-mel, kami perlu melaksanakan kaedah toMail() dalam kelas pemberitahuan Kami menulis templat e-mel dalam kaedah ini:
class SubscriptionEnding extends Notification { use Queueable; public function __construct($data) { $this->data = $data; } public function via($notifiable) { return ['mail']; } public function toMail($notifiable) { return (new MailMessage) ->line('Hi ' . $this->data['name'] . ', your subscription is about to end in ' . $this->data['days'] . ' days. Please log in to your account and renew your subscription to continue using our services.') ->action('Renew Subscription', url('/subscription')) ->line('Thank you for using our service.'); } public function toArray($notifiable) { return [ // ]; } }
Jika kami perlu menyesuaikan Untuk menentukan templat e-mel, anda boleh menggunakan paparan e-mel Laravel untuk menulis templat HTML/CSS anda sendiri:
public function toMail($notifiable) { return (new MailMessage)->markdown('emails.subscription-ending', [ 'name' => $this->data['name'], 'days' => $this->data['days'] ]); }
Langkah terakhir ialah menghantar pemberitahuan kami kepada pengguna, contohnya:
$user = User::find(1)->notify(new SubscriptionEnding(['name' => 'John Doe', 'days' => 5]));
kami Berjaya menghantar pemberitahuan e-mel apabila langganan hampir tamat tempoh. Dengan mengikuti langkah-langkah ini, anda boleh membuat pemberitahuan tersuai dengan mudah, menulis saluran dan mesej tersuai untuknya dan menghantar e-mel, mesej teks dan pemberitahuan lain melaluinya.
Pengikatan model laluan ialah salah satu ciri yang sangat berkuasa dalam model Laravel. Pengikatan laluan yang dipanggil membolehkan Laravel mencari pengikatan lain secara automatik yang sepadan dengan model dan secara automatik menyuntiknya ke dalam kaedah pengawal.
Dalam Laravel, pengikatan contoh model panggilan ke laluan dipanggil "pengikatan model laluan". Dalam kebanyakan kes, kami menggunakan pengecam khusus dalam penghalaan untuk mencari, mendapatkan semula dan mendapatkan objek. Walau bagaimanapun, dalam pengikatan model laluan, Laravel akan memuatkan model secara automatik ke dalam parameter laluan.
Pemberitahuan Laravel juga boleh menggunakan pengikatan model laluan. Ini ialah contoh mudah yang menunjukkan penggunaan Pemberitahuan pada pengikatan model penghalaan.
Kami boleh mencipta pengawal sampel dan laluan dengan cepat menggunakan arahan statik Artisan:
php artisan make:controller UserController --resource --no-model
Tentukan konteks dalam model:
class User extends Authenticatable { public function routeNotificationForMail() { return $this->email; } }
Seterusnya, kita perlu mentakrifkannya dalam laluan file , sebagai contoh, kami meletakkan laluan dalam fail route/web.php:
Route::get('users/{user}', 'UserController@show');
Laksanakan Pemberitahuan dalam kaedah pengawal:
class UserController extends Controller { public function show(User $user) { $details = [ 'title' => '你好啊!', 'body' => '感谢你使用我们的系统!' ]; $user->notify(new AppNotificationsSimpleNotification($details)); return view('users.show', ['user' => $user]); } }
Ini akan menghantar pemberitahuan kepada pengguna, dan pemberitahuan harus mengandungi tajuk dan teks.
Pemberitahuan Laravel ialah cara yang berkesan untuk menambah fungsi pemberitahuan pada aplikasi web anda. Dengan sistem Laravel yang berkuasa, kami boleh mentakrif dan mengendalikan pemberitahuan dengan mudah serta menggunakan pelbagai saluran yang berbeza untuk menghantar pemberitahuan. Dalam artikel ini, kami telah mempelajari cara menggunakan Pemberitahuan Laravel untuk menghantar pemberitahuan termasuk e-mel, SMS, mel dan Slack. Kami juga meneroka ciri lain Pemberitahuan Laravel, termasuk jenis pemberitahuan, acara dan saluran.
Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menghantar pemberitahuan menggunakan Pemberitahuan Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!