Laravel Messenger は、完全なユーザー メッセージング システムを Laravel アプリケーションに追加するように設計されたパッケージです。主な機能とインストール手順をいくつか示します。
### 特徴
- ユーザーごとに複数の会話: ユーザーは同時に複数の会話に参加できます。
- オプションのループ: 新しいメッセージごとに追加のユーザーを含めることができます。
- 最後のメッセージ表示: 各スレッドの最後のメッセージが利用可能です。
- 柔軟な使用方法: 独自のアクセス制御を実装します。
- 一般的な用途: オープン スレッド、グループ メッセージング、および 1 対 1 のメッセージングがサポートされています[1]。
インストール
1. Laravel 4.x:- インストール手順は GitHub で入手できます。
- サービスプロバイダーを「providers」の下の「config/app.php」に追加します。
- 設定ファイルを公開します。
- 必要に応じて「users」テーブルを作成します。
- 移行を公開します。
- `php 職人移行` を実行して移行を適用します。
- `Messageable` トレイトをユーザー モデルに追加します[1]。
2. Laravel 5.x:
- `composer require cmgmyr/messenger` を実行します。
- サービスプロバイダーを `providers` の下の `config/app.php` に追加します (Laravel 5.5 の場合はオプション)。
- 設定ファイルを公開します。
- 必要に応じて「users」テーブルを作成します。
- 移行を公開します。
- `php 職人移行` を実行して移行を適用します。
- `Messageable` 特性をユーザー モデルに追加します[1]。
サンプルプロジェクト
- RTippin/メッセンジャー: このパッケージは、リアルタイム メッセージング、反応、添付ファイルなどを備えた完全なメッセンジャー スイートを提供します。複数のモデルをサポートし、プライベート スレッドやグループ スレッド、メッセージ反応、スケジュールされたコマンドなどの機能が含まれています[2]。### 使用法
- cmgmyr/laravel-messenger: このパッケージはよりシンプルかつ柔軟であり、独自のアクセス制御を実装できます。ユーザーごとに複数の会話をサポートし、各スレッドの最後のメッセージを表示するなどの機能が含まれています[1]。
リアルタイムメッセージング
- RTippin/messenger: このパッケージは、WebSocket を使用したリアルタイム メッセージングをサポートします。これには、複数のモデル間のリアルタイム メッセージングやリアルタイム アップデートなどの機能が含まれています[2]。### 統合
- Laravel Messenger の統合: この例では、グループ チャットの作成やファイルの送信など、Laravel Messenger をグループ チャット システムと統合する方法を示します[5]。
チュートリアル
- Laravel Messenger チュートリアル: この YouTube ビデオでは、Laravel Messenger の基本的な紹介と、アプリケーションでのセットアップ方法を説明します[4]。追加のヒント
- ポーリングと Websocket: リアルタイム メッセージングを実装する場合、ポーリングまたは Websocket のいずれかを使用できます。ポーリングにはフロントエンドからバックエンドへの定期的なリクエストが含まれますが、WebSocket はリアルタイム更新のために継続的な接続を維持します[3]。これらのパッケージとチュートリアルは、メッセージング システムを Laravel アプリケーションに統合するのに役立ちます。
引用:[1] https://github.com/cmgmyr/laravel-messenger
[2] https://github.com/RTippin/messenger
[3] https://www.reddit.com/r/laravel/comments/u39oe5/messenger_chat_package_for_laravel/?rdt=47155
[4] https://www.youtube.com/watch?v=UoBb1751tAM
[5] https://laracasts.com/discuss/channels/general-Discussion/laravel-messenger-integration