Real-time შეტყობინებები არის საერთო ფუნქცია ვებ აპლიკაციებში, რათა უზრუნველყონ მომხმარებლებისთვის მყისიერი გაფრთხილებები და განახლებები გვერდის განახლების საჭიროების გარეშე. In Laravel, თქვენ შეგიძლიათ მარტივად ინტეგრირდეთ შეტყობინებების ეფექტურად Redis განსახორციელებლად. გამოყენებული იქნება როგორც რიგი, სერვერიდან კლიენტისთვის შეტყობინებების მყისიერად მიწოდებისთვის. real-time Redis
ინსტალაცია Redis და Laravel
დასაწყებად დააინსტალირეთ Redis თქვენს სერვერზე და დააინსტალირეთ predis/predis
პაკეტი Laravel კომპოზიტორის მეშვეობით.
composer require predis/predis
Real-time შეტყობინებების ინტეგრირება
რიგის კონფიგურაცია Laravel
პირველ რიგში, დააკონფიგურირეთ რიგი ფაილში ინფორმაციის Laravel დამატებით. Redis .env
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
შექმენით ა Event
შექმენით event in შეტყობინებების Laravel გასაგზავნად real-time.
php artisan make:event NewNotificationEvent
შემდეგ გახსენით app/Events/NewNotificationEvent.php
ფაილი და შეცვალეთ event შინაარსი.
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');
}
}
კონფიგურაცია Broadcast Driver
გახსენით config/broadcasting.php
ფაილი და გამოიყენეთ დრაივერი შეტყობინებების redis
განსახორციელებლად. real-time Redis
'connections' => [
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
// ...
],
Real-time შეტყობინების გაგზავნა
როდესაც თქვენ გჭირდებათ შეტყობინების გაგზავნა real-time, გამოიყენეთ event თქვენ მიერ ახლახან შექმნილი კონტროლერში ან სერვისის პროვაიდერში.
use App\Events\NewNotificationEvent;
public function sendNotification()
{
$message = 'You have a new notification!';
event(new NewNotificationEvent($message));
}
გაუმკლავდეს Real-time შეტყობინებას კლიენტზე
დაბოლოს, შეასრულეთ real-time შეტყობინება კლიენტზე JavaScript-ისა და Laravel Echo-ს გამოყენებით. დარწმუნდით, რომ დააინსტალირეთ და დააკონფიგურირეთ Laravel Echo თქვენი აპლიკაციისთვის.
// 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);
});
დასკვნა
ინტეგრირება Redis და Laravel საშუალებას გაძლევთ მარტივად განათავსოთ real-time შეტყობინებები თქვენს ვებ აპლიკაციაში. როდესაც არის ახალი შეტყობინება, აპლიკაცია მას გამოგიგზავნით Redis და კლიენტი მიიღებს შეტყობინებას მყისიერად, გვერდის განახლების საჭიროების გარეშე. ეს აუმჯობესებს მომხმარებლის გამოცდილებას და აძლიერებს აპლიკაციის ინტერაქტიულობას.