Membuat Notifikasi Pada Laravel Framework Versi 9 - CRUDPRO

Membuat Notifikasi Pada Laravel Framework Versi 9

Membuat Notifikasi Pada Laravel Framework Versi 9

Contoh Sistem Notifikasi Laravel; Dalam tutorial ini kami akan membagikan panduan langkah demi langkah tentang cara mengirim notifikasi web di aplikasi laravel. Contoh ini menunjukkan cara membuat sistem notifikasi di aplikasi laravel.

Mekanisme Laravel semakin kuat dari hari ke hari, dan kita semua mengetahuinya. Sistem notifikasi laravel tidak hanya mendukung email tetapi juga berjalan lancar dengan database, penyiaran, sms, slack, penurunan harga, dll.

Anda dapat menerapkan sistem notifikasi di aplikasi laravel 5, laravel 6, laravel 7, laravel 8 atau laravel 9.

Contoh Tutorial Notifikasi Laravel 9 | 8

Notifikasi dapat dilihat sebagai pesan singkat dan lugas yang disampaikan kepada pengguna untuk memberikan info penting, peristiwa, atau untuk membangkitkan tindakan dalam aplikasi. Sebaiknya, notifikasi membuat pengguna yang ada tetap terhubung, dan juga meningkatkan keterlibatan pengguna. Ini juga berharga dari perspektif pengalaman pengguna.

Notifikasi Laravel bisa melalui surat, database, sms atau slack. kita dapat dengan mudah membuat Notifikasi dengan perintah laravel artisan. Kita dapat dengan mudah mengkustomisasi pemberitahuan seperti subjek surat, isi surat, tindakan utama, dll. Kita hampir perlu menggunakan pemberitahuan ketika kita mengerjakan sejumlah besar proyek seperti e-commerce. mungkin Anda perlu mengirim pemberitahuan untuk tanda terima pembayaran, tanda terima tempat pemesanan, faktur dll.

Langkah 1: Instal Aplikasi Laravel

Pertama-tama instal aplikasi laravel menggunakan perintah berikut.

composer create-project laravel/laravel laravel-notification-system --prefer-dist

Masuk ke aplikasi:

cd laravel-notification-system

Langkah 2: Siapkan Koneksi Basis Data

Pada langkah ini kami menyiapkan kredensial basis data menggunakan menambahkan file .env dan memasukkan kode di bawah ini di dalamnya.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Langkah 3: Buat Tabel Pemberitahuan

Pada langkah ini kita akan belajar cara membuat tabel database untuk menyimpan notifikasi di laravel. Jalankan perintah berikut untuk menghasilkan tabel notifikasi di database.

php artisan notifications:table

Menggunakan perintah di atas, migrasi baru dihasilkan dalam migrasi Anda dengan nama kolom tabel.

database\migrations\2022_02_05_042920_create_notifications_table.php

<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateNotificationsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('notifications', function (Blueprint $table) {
            $table->uuid('id')->primary();
            $table->string('type');
            $table->morphs('notifiable');
            $table->text('data');
            $table->timestamp('read_at')->nullable();
            $table->timestamps();
        });
    }
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('notifications');
    }
}

Setelah itu, jalankan perintah untuk memigrasi tabel notifikasi.

php artisan migrate

Langkah 4: Buat Notifikasi di Laravel

Sekarang kita perlu membuat notifikasi menggunakan perintah laravel artisan.

php artisan make:notification OrdersNotification

Perintah di atas menghasilkan file dan folder baru, jalur file Pemberitahuan adalah sebagai berikut:

app/Notifications/OrdersNotification.php

<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class OrdersNotification extends Notification
{
    use Queueable;
    private $orderData;
    /**
     * Create a new notification instance.
     *
     * @return void
     */
    public function __construct($orderData)
    {
        $this->orderData = $orderData;
    }
    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return ['mail','database'];
    }
    /**
     * Get the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toMail($notifiable)
    {
        return (new MailMessage)
            ->name($this->orderData['name'])
            ->line($this->orderData['body'])
            ->action($this->orderData['orderText'], $this->orderData['orderUrl'])
            ->line($this->orderData['thanks']);
    }
    /**
     * Get the array representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function toArray($notifiable)
    {
        return [
            'order_id' => $this->orderData['order_id']
        ];
    }
}

Langkah 5: Tambahkan Rute Pemberitahuan

Sekarang kita perlu menambahkan rute notifikasi kirim yang membantu mengirim notifikasi ke satu pengguna, buka rute/web.php Anda dan tambahkan rute seperti di bawah ini.

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\NotificationController;
Route::get('/send-notification', [NotificationController::class, 'sendOrderNotification']);

Langkah 6: Buat Pengontrol Pemberitahuan

Di sini kita perlu membuat pengontrol baru menggunakan perintah berikut;

php artisan make:controller NotificationController

Buka pengontrol notifikasi Anda dan perbarui login di sini. Kami telah mengirimkan data pesanan kepada pengguna sebagai pemberitahuan.

app/Http/Controllers/NotificationController.php

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
use Notification;
use App\Notifications\OrdersNotification;
class NotificationController extends Controller
{
    public function index()
    {
        return view('order');
    }
    public function sendOrderNotification() {
        $user = User::first();
        $orderData = [
            'name' => 'Order Name',
            'body' => 'You received an order.',
            'thanks' => 'Thank you',
            'orderText' => 'Check out the order',
            'orderUrl' => url('/'),
            'order_id' => 006
        ];
        Notification::send($user, new OrdersNotification($orderData));
        dd('Task completed!');
    }
}

Setelah Anda selesai dengan semuanya, maka Anda dapat menjalankan perintah yang diberikan di bawah ini untuk memulai aplikasi laravel di browser dan mengirim pemberitahuan pengujian.

php artisan serve

Sistem notifikasi dapat diuji dengan jalur berikut.

http://127.0.0.1:8000/send-notification

Cara Mengirim Notifikasi di Aplikasi Laravel

Tahukah Anda sistem notifikasi laravel menawarkan dua metode untuk mengirim notifikasi. Anda dapat memilih sifat yang dapat Diberitahukan atau fasad Pemberitahuan. Sebaiknya, dalam tutorial ini, kita akan membahas sifat yang Dapat Diberitahukan.

Secara umum, sifat ini adalah pekerjaan default metode tunggal dengan model App\User. Seringkali, digunakan untuk mengirim notifikasi: notify, dan menuntut untuk menerima instance notifikasi.

use App\Notifications\OrdersNotification;
$user->notify(new OrdersNotification($orderData));

Berikut adalah cara paling sederhana untuk menerima notifikasi.

dd($user->notifications);

Saya harap tutorial contoh sistem notifikasi laravel langkah demi langkah bekerja untuk Anda. Nah guys hari ini kalian sudah melakukan cara membuat sistem notifikasi di aplikasi laravel 9.