如何在PHP中用MVC设计社交网络?

如何在PHP中用MVC设计社交网络?,php,model-view-controller,social-networking,Php,Model View Controller,Social Networking,我正在建立一个类似Facebook的社交网站。我正在使用PHP、javascript、jquery、MySQL、Memcache和APC。我以前用PHP构建过社交网络,它们是非常复杂和大型的应用程序(用户系统、论坛、博客、个人资料、虚拟货币、货币存储、消息传递和更多功能/部分/模块,但都是以过程式编码完成的,我花了一年时间研究PHP面向对象的OO,现在我对PHP中的OO有了更好的理解(多亏了Stackoverflow).以前,我对类和对象以及如何使用或创建它们一无所知 好的,回到问题上来,我将构

我正在建立一个类似Facebook的社交网站。我正在使用PHP、javascript、jquery、MySQL、Memcache和APC。我以前用PHP构建过社交网络,它们是非常复杂和大型的应用程序(用户系统、论坛、博客、个人资料、虚拟货币、货币存储、消息传递和更多功能/部分/模块,但都是以过程式编码完成的,我花了一年时间研究PHP面向对象的OO,现在我对PHP中的OO有了更好的理解(多亏了Stackoverflow).以前,我对类和对象以及如何使用或创建它们一无所知

好的,回到问题上来,我将构建我自己的框架,或者更好地说,为这个项目构建代码库,然后如果需要的话,我可以在将来使用它。我不想使用现有的框架,我宁愿构建我自己的框架,这样我才能真正了解eac方法和对象等是如何工作的

我倾向于使用MVC模式或类似的模式。我将拥有我将称之为模块的模块。示例模块;用户或帐户、邮件/消息、论坛、博客等……每个模块都将非常方便,并且可以与我的其他代码一起使用。因此每个模块都有自己的文件夹,并且非常独立。“模块/论坛/”可以有控制器+模型+视图……“模块/论坛/控制器/”“模块/论坛/模型/”“模块/论坛/视图/”

到目前为止,这是我的基本想法,它可以而且可能会改变一些,当一切都说了和做了

我已经创建了一个路由类,该类将接收URI的数组映射以进行匹配 www.domain.com/forums/viewtopic/id-242342/page-23

然后我会有一个与正则表达式匹配的数组,它会给我类似的东西

$uri['module'] = 'forums';  
$uri['method'] = 'viewtopic';  
$uri['id'] = '242342';  
$uri['paging'] = '23'; 
然后,我可以使用该数组为该页面构建或调用适当的内容

我正在考虑使用一个简单的模板/视图类来包含一个视图文件,该文件将混合html和PHP,但除了if/else、foreach、变量等之外,没有真正的logig

在我真正的问题或我不完全理解的地方…这种MVC类型的模式似乎对简单的页面非常有效,例如博客,我可以用MVC来显示博客帖子或博客列表,但像你在facebook这样的网站上看到的更复杂的页面,博客页面,可能不仅仅是博客内容,它可能有广告块我注意到所有的社交网站,包括facebook,似乎没有一个使用这个系统,他们都有单独的页面来构建页面,例如,邮件/消息将放在messages.php上,而不是通过h1文件


我希望这个问题/帖子对某人有意义,并且有人可以提供一些见解,谢谢你的时间和任何建议/提示/建议!

我会使用现有的框架,但是如果你坚持创建自己的框架,请看看这个关于如何编写自己的PHP MVC框架的文章。它提供了非常丰富的信息,并向你展示了内部框架如何克服与此任务相关的一些挑战


至于MVC作为复杂网页设计模式的功能和能力,Stackoverflow使用ASP.NET MVC 3作为其WebFramework()。Nuff说。

完成此项目后,一美元就可以使用预制框架;)@Byron Whitlock我对此表示怀疑,我的目标/梦想是时不时地建立自己的公司,并尽我所能不断改进,没有什么比这更能让我感到成就感。然而,如果我真的改用现有的公司,我至少会知道如何更好地利用它