Laravel は強力な PHP フレームワークであり、広く使用されており、洗練された構文により、PHP 開発に推奨されるフレームワークの 1 つとなっています。 Web 開発では、多くのアプリケーションにとってリアルタイム通信が重要です。 Laravel では、WebSocket はリアルタイム通信を実現する一般的な方法です。 Laravel Broadcasting は、WebSocket 通信を簡単に実装するための一般的なツールです。この記事では、Laravel Broadcastingを使用してWebSocket通信を実装する方法を紹介します。
Laravel では、Pusher や Redis などの何らかのブロードキャスト ドライバーを使用して、Laravel ブロードキャストを実装する必要があります。その前に、Composer を使用して、次のような必要なパッケージをインストールする必要があります。
composer require predis/predis pusher/pusher-php-server guzzlehttp/guzzle
これらのパッケージは、Pusher または Redis を使用したブロードキャストに使用されます。
Pusher をブロードキャストに使用するには、Laravel に Pusher 依存関係パッケージを導入し、.env## で Pusher を設定する必要があります。 # ファイル関連の環境変数。 Pusher をインストールした後、ブロードキャスト ファイル
/config/broadcasting.php で
pusher オプションを true に設定します。次に、次のコードを使用してブロードキャストできます。
use IlluminateSupportFacadesBroadcast; Broadcast::channel('chat.{roomId}', function ($user, $roomId) { return true; });
Broadcast::channel メソッドは、ルーム チャット内のユーザーのみがブロードキャストを受信できることを示しています。これは、Laravel Broadcasting で Pusher を使用する基本的な方法です。
.env ファイルに設定する必要があります。次に、ブロードキャスト ファイル
/config/broadcasting.php で
redis オプションを true に設定し、redis 関連のパラメーターを構成します。
PresenceChannel クラスがあります。この関数を実装するには、次のコードを使用できます。
Broadcast::channel('chat.{roomId}', function ($user, $roomId) { return [ 'id' => $user->id, 'name' => $user->name ]; });
import Echo from 'laravel-echo'; window.Echo = new Echo({ broadcaster: 'pusher', key: process.env.MIX_PUSHER_APP_KEY, cluster: process.env.MIX_PUSHER_APP_CLUSTER, encrypted: true });
Echo.channel(`chat.${roomId}`) .listen('NewMessage', (e) => { console.log(e); });
NewMessage イベントでブロードキャスト メッセージを受信するロジックを実装する必要があります。 Laravel Broadcastingを利用したWebSocket通信の実装方法です。
以上がLaravel 開発: Laravel Broadcasting を使用して WebSocket 通信を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。