我想使用FlashMessenger來通知另一個用戶的事件。有誰知道這是否可能?帶Zend的FlashMessenger - 如何向其他用戶發送消息?
喜歡的東西
$flashMessenger->addMessage(array('status'=> '', 'message'=> 'Hello!'), $user);
我想使用FlashMessenger來通知另一個用戶的事件。有誰知道這是否可能?帶Zend的FlashMessenger - 如何向其他用戶發送消息?
喜歡的東西
$flashMessenger->addMessage(array('status'=> '', 'message'=> 'Hello!'), $user);
引述manual page of the FlashMessenger:
FlashMessenger助手允許你 傳遞信息,用戶可以 需要看到下一個請求。到 完成此操作,FlashMessenger使用
Zend_Session_Namespace
來存儲 消息未來或下一個請求 檢索。
因此,消息存儲在會話中 - 並且會話附加到/對應於用戶;實際上是當前用戶。
會話並不意味着被不同用戶之間共享的存儲數據 - 所以我要說的是,該組分不能用於以將事件通知的其他用戶;至少不是本地的。
一個可能的解決辦法是:
有點棘手,並沒有那麼容易,因爲你希望,我承認......
另一個想法,而不是使用一個數據庫,是使用一些緩存引擎(如APC,memcached的......看到Zend_Cache
,避免碰到DB。
玩得開心!
其他選項將implemment自己的會話處理並將其存儲在DB(與用戶名一起)。然後,您可以訪問它並以任何方式改變它。當我們需要克服一些瘋狂的限制時(我們已經實現了這個) e日有限會話生命週期)託管環境的會話設置。它工作的非常好,並提供了更多的可能性在默認實現(如簽出所有用戶,如果某些特定的用戶登錄 - 例如superadmin或登錄用戶,如果他的密碼在管理部分更改等)。
但我想這是你的目的有點大材小用。而帕斯卡的方式就足夠了。
偉大的東西帕斯卡。我打算使用數據庫,但我認爲你使用z_cache是正確的。 – Sledge 2009-09-17 17:12:19
感謝:-)請注意:使用緩存意味着您的郵件永遠不會到達目的地:緩存手杖過期,並且如果緩存中沒有剩下位置,緩存引擎很可能會刪除一些舊/未使用的條目 - 但是,一般來說,如果你的信息不重要,這將是OK的。 – 2009-09-17 17:55:31