【发布时间】:2012-01-12 21:00:59
【问题描述】:
简介
模型-视图-控制器方法从假期开始就在我的脑海中,我真的需要在我的 Web 应用程序中将它归结为一个 tee,它是用 PHP 创建的。
到目前为止,我了解了一般的 MVC 概念以及为什么这样做,但我需要一些帮助。这是一个大学项目,当我询问有关 MVC 的问题时,我的项目顾问并不是很有帮助。
应用程序
这是一个任务管理系统,或者一个待办事项列表。目标是一个非常简单的界面,用户可以使用他们的 Facebook 帐户登录,创建、修改或删除任务,以及使用 Javascript 和 PHP 创建的注销。
事实
我有一个静态 PHP 页面 here 包含像“top_div”和“main_div”这样的 div。目的是让“controller.php”包含在视图和模型之间(我还没有创建)。
重要提示:页面上的所有内容都使用 jQuery,因此用户永远不会看到页面刷新。我有一个函数可以淡出 div 中的内容,抓取新需要的内容,将其放入 div(隐藏,因为 div 已经淡出),然后再次淡入 div。
目的是让控制器向模型请求,然后将 Facebook 登录按钮(例如)发送回视图。这个 Facebook 登录按钮是 HTML。内容会有文本和html之类的其他内容,如果用户已经登录,“欢迎”将被发送到#main_div 使用PHP、jQuery和cURL。
我正在使用对象,所以据我了解,我需要实例化一个对象来进行数据库连接和查询。我在哪里实例化对象?我读到它们应该在控制器中创建,但是从我读过的所有其他内容来看,控制器的目的很简单,它告诉模型视图想要什么,只充当中间人。我对模型实例化对象的印象(对我来说更有意义)。
1) 所以,请向我解释在模型中实例化对象是不正确的。如果不是这种情况,就我对 MVC 方法的理解而言,那就太好了。
假设用户已登录。我将在视图 (index.php) 上显示他们的姓名和他们的 Facebook 图片。如果您通过上面的链接访问该站点,您可能会在右侧看到该图片所在的一个小白框。 PHP中用户图片的代码如下:
<img src="https://graph.facebook.com/'.$fbid.'/picture" width="79" height="64" align="center" style="opacity:0.8;">';
2) 由于此 HTML 将通过上述 jQuery 函数传递给视图以显示到 DIV 中,因此我的控制器可以输出此类信息吗?我的控制器可能有类似(伪代码)的内容:
if(user is logged in(from checking via model)) then { send to #main_div the html above };
我可能会在此过程中想到更多问题,但请有人帮助我了解更多关于我在做什么的信息吗?
【问题讨论】:
-
您将在此处获得广泛的回复。问题是,MVC 是一种相当简单的模式,可以用一百万种不同的方式实现。
标签: php model-view-controller design-patterns