从Scratch设计/实现MVC

时间:2010-02-13 21:24:13

标签: php mysql html model-view-controller

我想使用HTML,MySQL,PHP和模型视图控制器创建我的第一个Web应用程序。对于初学者来说非常简单:允许用户向/从数据库输入/删除数据并显示数据库内容的几页。

然而,我是MVC的新手,我真的希望我能找到适合初学者的MVC教程,如何使用简单的代码示例实际实现它。我只找到了高级示例,这使得学习曲线不必要地陡峭。我想我必须在这里创建一个。

我的问题是,如何从头开始设计这个MVC,以获得一个非常简单的Web应用程序?如何在代码中分离模型,视图和控制器?我应该采取什么措施?如何将模型实现为业务实体类,将视图实现为HTML,将控制器实现为将所有内容粘合在一起的脚本? (假设我对此的理解是正确的)任何人都可以推荐关于如何为像我这样的初学者实际实现MVC的清晰直接的教程吗? (我找不到任何)。

提前致谢。

7 个答案:

答案 0 :(得分:3)

有很多框架可以帮助您解决这个问题。我建议使用CakePHP,http://www.cakephp.org。它有很好的文档,大型社区和很多教程!

答案 1 :(得分:2)

如果您想第一次进行MVC,则不要从头开始。 CakeDP是Dale推荐的一个非常好的推荐。当你多次完成并了解MVC的内容时,你就可以在没有框架的情况下实现MVC。

答案 2 :(得分:1)

没有快速的道路。

如果您真的想要构建MVC,请查看一些现有的MVC。阅读他们的文档并尝试理解他们为何做出某些选择(安全性,稳健性等)。

您会发现here一个很好的现有MVC列表。

答案 3 :(得分:1)

了解MVC如何工作的好教程是this one。它向您展示了如何从头开始创建框架,但如果您想要做更复杂的事情,我建议您使用现有框架。

答案 4 :(得分:1)

我认为symfony2是一个正确的选择,因为代码库非常广泛,而且它的企业级扩展比Zend框架更强大....

答案 5 :(得分:1)

Fwiw,由于缺少实时事件循环,所有服务器端框架(包括PHP)不能在原始SmallTalk MVC(例如,客户端上下文)的上下文中成为MVC。服务器端MVC最接近Smalltalk MVC就像Model2(http://en.wikipedia.org/wiki/Model_2)。

答案 6 :(得分:0)

这可能是一个很好的起点:MVC in PHP是一本涵盖MVC基础知识的教程。