Real-time შეტყობინებები Laravel და Redis

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 და კლიენტი მიიღებს შეტყობინებას მყისიერად, გვერდის განახლების საჭიროების გარეშე. ეს აუმჯობესებს მომხმარებლის გამოცდილებას და აძლიერებს აპლიკაციის ინტერაქტიულობას.