类似Facebook的活动流

时间:2010-07-28 09:00:26

标签: php facebook android-activity

我写了一个应用程序,它不是一个社交网络脚本,但我的脚本确实有“用户配置文件”,我对SQL / PHP设计理念很感兴趣,可以看看Facebook上的活动流对于我的脚本用户。

诸如“乔伊在X墙上发表评论”之类的活动。或者“Joey,X,Foo喜欢你的照片”或“Foo改变了他的照片[图片在这里]”

我希望它是动态的,而不是静态条目,因为如果Joey将其名称更改为其他内容,我不希望它显示旧数据。

所以,如果你愿意,请帮我设计一个方法...我不需要任何代码只是推动正确的方向。

非常感谢!

1 个答案:

答案 0 :(得分:1)

从长远来看,我不确定您提出的架构会给您带来多大的灵活性:

  

数据库架构是我正在寻找的。我想的可能就像.... activity_id activity_message activity_time其中的消息类似于“{USERID:34}喜欢{USERID:23} post”和“{USERID:34}更改了他的照片{PHOTOID:2}”< / p>

这个问题是你依赖正则表达式和其他昂贵的(及时)方法来解析它以供显示。

也许(我从来没有必要实际设计这类东西)如果你有一个单独的表“喜欢”有user.id,post.id,timestamp,那么你可以为一个特定的帖子轻松计算喜欢它的人数,对于活动流,您可以按用户和按时间顺序进行过滤。存储的user.id是喜欢该帖子的人,然后您可以在post.id上进行联接以使用户与该帖子相关联。

对于处理图片和/或其他交互,你可以有一个包含user.id,item.id,action,timestamp的表,其中item.id是图片/帖子/其他id引用,动作是数字与您可以与字符串关联的操作对应的标识符。

通过这种方式做事你还有其他的优点,如果你希望以后有多种语言或者决定将术语“喜欢”改为“喜欢”,你可以轻松地做到这一点,就好像你存储了一个文本字符串一样稍后会显示你更换它会有更多困难。