社交网络 PHP/MySQL 结构

Posted

技术标签:

【中文标题】社交网络 PHP/MySQL 结构【英文标题】:Social Network PHP/MySQL Structure [closed] 【发布时间】:2011-01-18 21:47:21 【问题描述】:

我想创建一个社交媒体网站。我现在只是在计划它,我想首先通过用户名/密码组合登录用户,检查 mysql db 并查看它们是否存在。这很简单。但我要问的是,就像 Facebook 一样,对于“简历”页面,你会放“从 user_id = $user_id 的朋友中选择”之类的东西吗?那么我是否在整个页面上使用相同的 user_id 来选择 cmets、联系信息、朋友、图片、喜欢、不喜欢?这是正确的还是这种糟糕的应用程序结构?

【问题讨论】:

使用带有 ORM 的框架。如果你在代码中乱扔 SQL 语句,那你就做错了。有many,选一个。我会放弃整个 php 并自己选择 Ruby on Rails。 为什么要使用框架进行开发?因为它更容易、更快、更安全、更容易维护,并且在每个可衡量的意义上通常都更好。为什么要使用 Rails 进行开发?因为我喜欢 Ruby 并且熟悉这个框架。选择哪一个都没关系,只要选择一个并学习它。它只能帮助您更好地了解现代 Web 开发。 我认为这个问题不应该结束。 SO 精英列车正在失控。 【参考方案1】:

我认为你还有很长的路要走。

请不要误会,但您似乎缺乏手动构建此类平台所需的技能。

如果您有构建社交网站的能力,您会非常了解身份验证系统,但您似乎缺乏这一点。

我的建议是您使用专门为社交互动构建的自定义开源框架,例如 facebook。

这里有一些可以帮助您入门

Elgg - Open Source Social Networking Engine SocialEngine (Paid) Anahita Engine (NEW!!)

【讨论】:

【参考方案2】:

当您登录时,从数据库中获取他们的用户 ID(我假设您在用户表中有完整的用户 ID 以及他们的用户名/密码)并将其存储在会话中。然后,您可以在站点中的所有页面上使用它来进行查询。如果你要基于查询字符串或发布数据,人们可以很容易地改变它。

这是一种非常标准的做事方式(根据我的经验)。

您还可以将整个用户对象存储在会话变量中,但是您必须担心保持它是最新的。

【讨论】:

以上是关于社交网络 PHP/MySQL 结构的主要内容,如果未能解决你的问题,请参考以下文章

Ruby vs. PHP/插件社交网络

制作基于模块的社交网络 cms

社交网络中信息内容的计算公式

Facebook 类型社交网络的 NoSQL 数据库结构

理论从社交网络获取灵感,用小世界网络模型分析分子筛传递性质

PTA数据结构与算法题目集(中文) 7-36 社交网络图中结点的“重要性”计算 (30 分)