他のユーザーが入室中かどうかを表示するアプリを作る ( Laravel + Pusher ( Presenceチャンネル使用 ) )

Laravel と Pusher を用いて、Presenceチャンネルを使用し、他のユーザーがルーム(チャットルームやゲームルーム)に入室中かどうかを表示するアプリを作成する方法を解説します。

Laravel は、PHPで実装されたWebアプリケーションフレームワークです。Laravel を利用するとWebアプリケーションを簡単に作成することができます。
Pusherは、WebSocketの送受信を可能とするWebサービスです。Pusherを利用するとWebSocketを使用したWebアプリケーションを簡単に作成することができます。

使用開発環境は、以下です。
PHP : version 8.1.9
Laravel : version 9.27.0

01. Laravelプロジェクトの作成
Laravelプロジェクトを作成します。

02. ユーザー認証機能の追加
認証機能を追加します。

03. チャットページの作成
チャットページを作成します。チャットページに入室中のユーザーの一覧を表示しますが、まだ表示内容はダミーです。チャット機能は作成しません。

04. Pusherチャンネルの作成
チャットメッセージの送受信の実現方法として、Pusherを使用します。Pusherチャンネルを作成します。

05. Pusherチャンネルへの接続
作成したPusherチャンネルに接続するためのコードを記述します。

06. チャットルームへの入室の情報発信
チャットルームへの入室の情報発信に関するコードを記述します。

07. チャットルームの人の入退室の情報受信
チャットルームの人の出入りの受信に関するコードを記述します。

08. 他のユーザーが入室中かどうかを表示
ユーザーの一覧を表示し、個々のユーザーが入室中かそうでないかを表示するためのコードを記述します。

参考