Real-time njoftimet janë një veçori e zakonshme në aplikacionet në ueb për të ofruar sinjalizime dhe përditësime të menjëhershme për përdoruesit pa pasur nevojë të rifreskoni faqen. Në Laravel, mund të integroheni lehtësisht Redis për të zbatuar real-time njoftimet në mënyrë efikase. Redis do të përdoret si një radhë për të dërguar njoftime nga serveri te klienti në çast.
Instalimi Redis dhe Laravel
Për të filluar, instaloni Redis në serverin tuaj dhe instaloni predis/predis
paketën Laravel përmes Composer.
composer require predis/predis
Integrimi i Real-time njoftimeve
Konfiguro radhën brenda Laravel
Së pari, konfiguroni radhën Laravel duke shtuar Redis informacionin në .env
skedar.
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Krijo një Event
Krijo një event in Laravel për të dërguar real-time njoftime.
php artisan make:event NewNotificationEvent
Pastaj, hapni app/Events/NewNotificationEvent.php
skedarin dhe personalizoni event përmbajtjen.
use Illuminate\Broadcasting\Channel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
use Illuminate\Queue\SerializesModels;
class NewNotificationEvent implements ShouldBroadcastNow
{
use SerializesModels;
public $message;
public function __construct($message)
{
$this->message = $message;
}
public function broadcastOn()
{
return new Channel('notifications');
}
}
Konfiguro Broadcast Driver
Hapni config/broadcasting.php
skedarin dhe përdorni redis
drejtuesin për të zbatuar real-time njoftimet me Redis.
'connections' => [
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
// ...
],
Dërgo Real-time Njoftim
Kur duhet të dërgoni një real-time njoftim, përdorni atë event që sapo keni krijuar në një kontrollues ose ofrues shërbimi.
use App\Events\NewNotificationEvent;
public function sendNotification()
{
$message = 'You have a new notification!';
event(new NewNotificationEvent($message));
}
Trajtoni Real-time njoftimin për klientin
Më në fund, trajtoni real-time njoftimin për klientin duke përdorur JavaScript dhe Laravel Echo. Sigurohuni që keni instaluar dhe konfiguruar Laravel Echo për aplikacionin tuaj.
// Connect to the 'notifications' channel
const channel = Echo.channel('notifications');
// Handle the event when receiving a real-time notification
channel.listen('.NewNotificationEvent',(notification) => {
alert(notification.message);
});
konkluzioni
Integrimi Redis dhe Laravel ju lejon të vendosni lehtësisht real-time njoftimet në aplikacionin tuaj të internetit. Kur ka një njoftim të ri, aplikacioni do ta dërgojë atë përmes Redis, dhe klienti do ta marrë njoftimin në çast pa pasur nevojë të rifreskojë faqen. Kjo përmirëson përvojën e përdoruesit dhe rrit ndërveprimin e aplikacionit.