Menggunakan Notification


Laravel menyediakan fitur notifikasi yang powerful, memungkinkan Anda untuk mengirimkan pesan kepada pengguna melalui berbagai saluran seperti email, SMS, atau database. Dalam tutorial ini, kita akan membahas cara menggunakan notifikasi di Laravel secara detail.

Prasyarat

Sebelum memulai, pastikan Anda sudah memiliki:

  • Laravel terinstal (minimal versi 5.3)
  • Composer
  • Database dan koneksi terkonfigurasi

Langkah 1: Membuat Notifikasi

Kita mulai dengan membuat kelas notifikasi. Gunakan perintah artisan untuk membuat notifikasi baru:

php artisan make:notification OrderShipped

Ini akan membuat file OrderShipped.php di dalam direktori app/Notifications.

Contoh Kode Notifikasi

Buka file yang baru dibuat dan edit sesuai kebutuhan. Contoh berikut menunjukkan notifikasi yang dikirim melalui email.

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;

class OrderShipped extends Notification
{
    use Queueable;

    protected $order;

    public function __construct($order)
    {
        $this->order = $order;
    }

    public function via($notifiable)
    {
        return ['mail']; // Saluran yang digunakan untuk notifikasi
    }

    public function toMail($notifiable)
    {
        return (new MailMessage)
                    ->greeting('Hello!')
                    ->line("Your order #{$this->order->id} has been shipped.")
                    ->action('View Order', url('/orders/'.$this->order->id))
                    ->line('Thank you for your business!');
    }
}

Langkah 2: Mengirim Notifikasi

Setelah Anda membuat notifikasi, langkah berikutnya adalah mengirim notifikasi kepada pengguna. Misalkan Anda mempunyai model User dan ingin mengirimkan notifikasi ketika pesanan dikirim.

Contoh Pengiriman Notifikasi

Anda bisa mengirim notifikasi dengan cara berikut:

use App\Notifications\OrderShipped;
use App\Models\User;

// Misalkan $user adalah pengguna yang akan menerima notifikasi
$user = User::find(1);
$order = (object) ['id' => 123]; // Contoh objek order

$user->notify(new OrderShipped($order));

Langkah 3: Menerima Notifikasi

Pada sisi pengguna, Anda dapat mengelola notifikasi yang dikirimkan. Misalkan Anda ingin mengambil semua notifikasi yang belum dibaca.

$notifications = $user->unreadNotifications;

foreach ($notifications as $notification) {
    echo $notification->data['message']; // Asumsi ada 'message' di data notifikasi
}

Langkah 4: Menampilkan Notifikasi di View

Agar pengguna dapat melihat notifikasi, Anda perlu menampilkannya di view. Misalkan, Anda bisa menambahkannya di bagian navbar.

Contoh Kode di View

<ul>
    @foreach ($user->unreadNotifications as $notification)
        <li>
            {{ $notification->data['message'] }}
            <a href="{{ url('/notifications/'.$notification->id) }}">View</a>
        </li>
    @endforeach
</ul>


Dengan mengikuti tutorial ini, Anda sekarang seharusnya dapat membuat dan mengirim notifikasi menggunakan Laravel. Anda bisa mengeksplorasi saluran notifikasi lain seperti database, SMS, atau Slack sesuai kebutuhan aplikasi Anda.