Задать вопрос

Yii2 Обмен сообщениями на сайте и система отображения онлайн-оффлайн?

Есть сайт написанный на Yii2
Заказчик срочно требует реализовать ему на сайте
1.обмен сообщениями (между пользователями)
2. отображение статуса в сети или не в сети пользователь
3. древовидные комментарии, подскажите пожалуйста, есть ли наработки в этой области в доступе или даже готовые решения?
Заранее спасибо
  • Вопрос задан
  • 4771 просмотр
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
IvanCher
@IvanCher
Мысли шире
Реализация зависит от текущей структуры БД и проекта.
1. Если не нужно обновление сообщений у пользователей без перезагрузки страницы, то просто создаете табличку messsage с полями id, text, user_id (может еще какие-то Вам понадобятся) и форму для создания сообщения. Тут не вижу никаких сложностей.
Если обновлять сообщения нужно без перезагрузки страницы, наподобие чата, то посмотрите в сторону пуш-сообщений, либо тупо через js раз в несколько секунд проверяйте не появилось ли новых сообщений, если есть, то отрисовывайте.
2. Тут интереснее. Вариантов много самых разных. Из самых простых:
  • На все страницы сайта повесить js скрипт, который на каждое событие отправляет запрос на какой-нибудь скрипт, но не чаще, например, 1 раза в 10 сек, чтобы не задосить себя. Хранить состояние юзера (онлайн/оффлайн) лучше в быстрой nosql базе. Также в базе хранить время последнего обновления состояния. Скриптом, например, по крону, отмечать всех оффлайн, кто не подавал признаков жизни более n кол-ва минут
  • Аналогично предыдущему варианту, но не делать js, а отмечать онлайн при открытии страниц, совершении каких-то действий. Можно даже скрипт отметки онлайном пользователя повесить на событие init приложения.

3. Да просто перебирайте и отрисовывайте как нужно, тут тоже не вижу проблем, стандратное использование php.
Ответ написан
Комментировать
proffmen
@proffmen
proffmen
Иван, я так вижу вы профессионал и так просто и легко описали практически в 2 словах о таком большом модуле, как комментарии, Не могли бы вы подтвердить свои слова на деле выложив в открытом доступе исходник модуля сообщений для yii2. Я к тому что изначально пользователь "Phmphx" и я тоже ждет помощи от профессионалов на деле, а не на словах. Спасибо за понимание!
8af0150014e74944a88f2316ad924648.jpg
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы