PHP|站常用术语--MVC的概?
MVC本来是存在于DesktopE序中的QM是指数据模型QV是指用户界面QC则是控制器。用MVC的目的是M和V的实C码分,从而同一个程序可以用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变QV应该同步更新?
模型Q视图-控制器(MVCQ是Xerox PARC在八十年代ؓ(f)~程语言SmalltalkQ?0发明的一UY件设计模式,至今已被q泛使用。最q几q被推荐为Sun公司J2EEq_的设计模式,q且受到来多的?ColdFusion ?PHP 的开发者的Ƣ迎。模型-视图Q控制器模式是一个有用的工具,它有很多好处Q但也有一些缺炏V?/p>
MVC如何工作
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。用MVC应用E序被分成三个核心部Ӟ(x)模型、视图、控制器。它们各自处理自qd?
视图
视图是用L(fng)到ƈ与之交互的界面。对老式的Web应用E序来说Q视囑ְ是由HTML元素l成的界面,在新式的Web应用E序中,HTML依旧在视图中扮演着重要的角Ԍ但一些新的技术已层出不穷Q它们包括Macromedia Flash和象XHTMLQXML/XSLQW(xu)ML{一些标识语a和W(xu)eb services.
如何处理应用E序的界面变得越来越有挑战性。MVC一个大的好处是它能Z的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生Q不这些数据是联机存储的还是一个雇员列表,作ؓ(f)视图来讲Q它只是作ؓ(f)一U输出数据ƈ允许用户操纵的方式?
模型
模型表示企业数据和业务规则。在MVC的三个部件中Q模型拥有最多的处理d。例如它可能用象EJBs和ColdFusion Componentsq样的构件对象来处理数据库。被模型q回的数据是中立的,是说模型与数据格式无关Q这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一ơ就可以被多个视N用,所以减了代码的重复性?
控制?
控制器接受用L(fng)输入q调用模型和视图d成用L(fng)需求。所以当单击Web面中的链接和发送HTML表单Ӟ控制器本w不输出M东西和做M处理。它只是接收hq决定调用哪个模型构件去处理hQ然后用定用哪个视图来昄模型处理q回的数据?
现在我们ȝMVC的处理过E,首先控制器接收用L(fng)hQƈ军_应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用L(fng)hq返回数据,最后控制器用相应的视图格式化模型返回的数据Qƈ通过表示层呈现给用户?/p>