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.