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