Цитирование справочной страницы FlashMessenger :
Помощник FlashMessenger позволяет вам
передавать сообщения, которые пользователь может
нужно посмотреть по следующему запросу. к
Для этого FlashMessenger использует
Zend_Session_Namespace
хранить
сообщения для будущего или следующего запроса
поиск .
Таким образом, сообщения сохраняются в сеансе - и сеанс присоединяется к пользователю или соответствует ему; текущий пользователь, на самом деле.
Сессия не предназначена для хранения данных, которые совместно используются разными пользователями - поэтому я бы сказал, что этот компонент нельзя использовать для уведомления других пользователей о событии; не изначально, по крайней мере.
Возможное решение будет:
- при обнаружении сообщения, которое должно быть отправлено другим пользователям, сохраните его в базе данных (некоторая таблица с внешним ключом, указывающая на конечного пользователя, если конечный пользователь является подключенным пользователем; некоторое хранение таблицы сообщение, если оно может быть просмотрено кем-либо) .
- на каждой странице вы проверяете эту таблицу БД, если это сообщение, которое должно отображаться
- если да, вы помещаете его в FlashMessenger, который будет отображаться при следующей загрузке страницы от текущего пользователя.
Немного сложно, и не так просто, как вы надеетесь, я признаю ...
Другая идея, вместо использования базы данных, заключалась бы в использовании некоторого механизма кэширования (например, APC, memcached, ... см. Zend_Cache
, чтобы избежать попадания в БД.
Веселись!