国产精品成人VA在线观看,亚洲日韩在线中文字幕综合,亚洲AV电影天堂男人的天堂,久久人人爽人人爽人人av东京热

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁      樂道系統(tǒng)FAQ      基于Laravel實(shí)現(xiàn)的用戶動(dòng)態(tài)模塊開發(fā)

基于Laravel實(shí)現(xiàn)的用戶動(dòng)態(tài)模塊開發(fā)

標(biāo)簽: 發(fā)布日期:2017-09-21 00:00:00 267

前言

相信大家都知道,幾乎所有的社區(qū)應(yīng)用都有用戶動(dòng)態(tài)這個(gè)部分,用戶可以通過好友動(dòng)態(tài)獲能取到更多感興趣的內(nèi)容,從而提高社區(qū)活躍度和用戶粘性。它的實(shí)現(xiàn)相對(duì)來講比普通的內(nèi)容發(fā)布要復(fù)雜一些,主要體現(xiàn)在內(nèi)容多樣性上。

為了解決這個(gè)問題,我們得把這些不同類型的內(nèi)容抽象,提取共性,使用相同的結(jié)構(gòu)來處理,開發(fā)起來就會(huì)簡單很多。

概念抽象

用戶動(dòng)態(tài),顧名思義,動(dòng)態(tài)的產(chǎn)生,就是一系列事件的歷史記錄,所以首先關(guān)注“事件”這個(gè)名詞,它有哪些屬性:

  • 觸發(fā)者,基于社區(qū)所有的事件幾乎都是由用戶觸發(fā)的
  • 事件主體,事件的主體信息,例如“xxx發(fā)布了文章” 中的 “文章”。
  • 事件屬性,事件主體不同,所需要的附加信息也不同,比如事件類型。
  • 發(fā)生時(shí)間,記錄事件產(chǎn)生的時(shí)間,當(dāng)然了在我們的數(shù)據(jù)庫通常記錄了所有數(shù)據(jù)產(chǎn)生的時(shí)間。

我們將用戶動(dòng)態(tài)抽象成只有 4 個(gè)基礎(chǔ)屬性的結(jié)構(gòu),就比較容易實(shí)現(xiàn)了:

- description    事件描述
- causer_id 或者 user_id 事件觸發(fā)者
- subject_id    主體 ID
- subject_type   主體類型
- properties    事件附加屬性
- created_at    事件產(chǎn)生時(shí)間