Real-time 通知は Web アプリケーションの一般的な機能で、ページを更新せずにユーザーに即時のアラートと更新を提供します。 では、通知を効率的に 実装するために Laravel 簡単に統合できます 。 サーバーからクライアントに通知を即座に配信するためのキューとして使用されます。 Redis real-time Redis
インストール Redis と Laravel
まず、 Redis サーバーにインストールし、 Composer 経由で 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 と Echo を使用してクライアント上で通知を処理します Laravel。 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 と、 Web アプリケーションに通知を Laravel 簡単に展開できるようになります。 real-time 新しい通知がある場合、アプリケーションは を介して通知を送信し Redis 、クライアントはページを更新することなく即座に通知を受け取ります。 これにより、ユーザー エクスペリエンスが向上し、アプリケーションの対話性が強化されます。