Laravel Messenger — это пакет, предназначенный для добавления полноценной системы обмена сообщениями с пользователями в ваше приложение Laravel. Вот некоторые основные функции и этапы установки:
Функции
- Несколько разговоров на пользователя: пользователи могут участвовать в нескольких разговорах одновременно.- Необязательное зацикливание: в каждое новое сообщение можно включать дополнительных пользователей.
- Просмотр последнего сообщения: доступно последнее сообщение для каждой темы.
- Гибкое использование: реализуйте собственный контроль доступа.
- Общее использование: поддерживаются открытые обсуждения, групповой обмен сообщениями и обмен сообщениями один на один[1].
Установка
1. Laravel 4.x:- Инструкции по установке доступны на GitHub.
- Добавьте поставщика услуг в `config/app.php` в разделе `providers`.
- Опубликуйте файл конфигурации.
- При необходимости создайте таблицу «Пользователи».
- Публикация миграций.
- Запустите `php artisanmigration`, чтобы применить миграцию.
- Добавьте черту Messagable в вашу пользовательскую модель[1].
2. Laravel 5.x:
- Запустите `composer require cmgmyr/messenger`.
- Добавьте поставщика услуг в `config/app.php` в разделе `providers` (необязательно для Laravel 5.5).
- Опубликуйте файл конфигурации.
- При необходимости создайте таблицу «Пользователи».
- Публикация миграций.
- Запустите `php artisanmigration`, чтобы применить миграцию.
- Добавьте черту Messagable в вашу пользовательскую модель[1].
Примеры проектов
- RTippin/messenger: этот пакет предоставляет полный набор средств обмена сообщениями с обменом сообщениями в реальном времени, реакциями, вложениями и многим другим. Он поддерживает несколько моделей и включает в себя такие функции, как частные и групповые потоки, реакции на сообщения и запланированные команды[2].Использование
- cmgmyr/laravel-messenger: этот пакет проще и гибче, позволяя вам реализовать собственный контроль доступа. Он поддерживает несколько разговоров для каждого пользователя и включает в себя такие функции, как просмотр последнего сообщения для каждого потока[1].Обмен сообщениями в реальном времени
- RTippin/messenger: этот пакет поддерживает обмен сообщениями в реальном времени с использованием веб-сокетов. Он включает в себя такие функции, как обмен сообщениями в реальном времени между несколькими моделями и обновления в реальном времени[2].Интеграция
- Интеграция Laravel Messenger: в этом примере показано, как интегрировать Laravel Messenger с системой группового чата, включая создание группового чата и отправку файлов[5].Учебники
- Учебное пособие по Laravel Messenger: в этом видеоролике на YouTube представлены базовые сведения о Laravel Messenger и о том, как настроить его в своем приложении[4].Дополнительные советы
- Опрос или веб-сокеты: при реализации обмена сообщениями в реальном времени вы можете использовать либо опрос, либо веб-сокеты. Опрос включает в себя периодические запросы от внешнего интерфейса к серверному, в то время как веб-сокеты поддерживают постоянное соединение для обновлений в реальном времени[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