MVC设计模式在Web开中的应用与研究.docVIP

MVC设计模式在Web开中的应用与研究.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MVC设计模式在Web开中的应用与研究.doc

MVC设计模式在Web开中的应用与研究   【 摘 要 】 MVC是项目中的一种通用框架模式,用于描述程序结构中各部分职责及交互方式,其主要作用就是通过控制层实现模型层和视图层的有效分离。Web项目中MVC模式的应用,不仅提高了程序结构的合理性,降低了程序模块之间的耦合性,而且大大提高了程序代码的重用性。   【 关键词 】 MVC;PHP;模式   1 引言   模式是一种解决某类问题通用的最佳方法,MVC模式是一种解决计算机学科领域内项目中模型层(Model)、视图层(View)、控制层(Control)三部分有效耦合和内聚的一种通用方法,简单来说就是程序代码的一种组织形式,其主要作用就是通过控制层实现模型层和视图层的有效分离,使得程序员开发生成一个表现丰富、内聚性强、耦合性弱且易于扩展的项目。在基于PHP的Web项目中,MVC模式的应用也非常广泛,虽说Web项目中的三层体系结构解决了项目中业务操作过程中代码封装的问题,但和MVC模式还是有着本质区别的,在一个Web项目中,两种概念可同时应用亦可单独应用。   2 MVC模式组件构成   在一个Web项目中,MVC的三个组件各自分工完成不同任务且又紧密联系形成一个有机不可分割的整体。组件构成及其关系如图1所示。   Web项目中,视图即我们通过浏览器看到的页面外观,通常需要HTML+CSS的支持,随着Web技术的不断更新与升级,视图层通常还包括XHTML、XML、WML等标记语言、客户端的脚本以及通用模板标签。MVC模式下视图层的处理仅仅局限于数据的采集与表现,不包括业务逻辑与流程的数据处理,通常情况下业务逻辑与业务流程交由模型层解决,模型层负责接收视图层发送来的请求数据,并通过一定的业务逻辑处理返回最终结果给客户端浏览器。模型层是MVC模式的核心组成部分,包含了Web应用程序应有的功能的实现算法。实际上,MVC模式中并没有提供模型的具体设计方法,只是给出了提高模型重构性和重用性的方法。模型层用于封装与应用程序业务逻辑数据及其处理方法,不依赖视图层和控制器层,即不关心数据如何处理和如何显示,可同时被多个Web应用程序视图重用。   控制器层的主要功能则是根据视图层请求的数据判断交由哪个模型来处理,可以用来连接不同的模型和视图去完成用户需求,与模型层和视图层保持相对的独立,提高了Web应用程序的灵活性和可配置性。控制器层不对数据进行处理,只是负责将用户请求信息传递给相应模型,然后将模型处理结果选择符合要求的视图呈现给用户。   3 PHP中MVC模式的应用   根据前文介绍,我们基本了解了Web中数据在MVC中的响应、传递及处理过程,即控制器层根据URL请求,把相应参数传递给对应的Action,然后调用相应模型方法处理进而得到数据,最后选择相应的视图呈现给用户。通常情况下,开发基于PHP的Web项目遵守同样的应用规则,首先建立项目的统一入口文件,然后再建立相应的控制规则及模型功能算法,最后当用户通过视图向服务器发出请求,则会触发对应的Action,进而激活相应的模型处理请求,再返回给视图。实际开发中,我们建立如图2所示的文件结构。   3.1 建立MVC框架类   MVC框架基类存放于站点根目录下lib文件夹中,通常情况下包含前台控制器front.php、控制器基类controller.php、临时存放需要显示数据的文件view.php等。front.php负责根据用户URL请求,分析判断用户需要触发执行的model及显示view;controller.php是所有控制器的基类,用户自定义的控制器都必须继承于它。在前台控制器中,首先通过如下代码动态加载对应的用户控制器及实例化用户控制器对象:   include dirname(__FILE__)./../application/controllers/.$_REQUEST[controller]._controller.php;   //根据URL传递的controller动态加载对应的用户控制器   $rc = new ReflectionClass($_REQUEST[controller].Controller);   $controller = $rc-newInstance();   //使用反射机制实例化用户控制器类;如果用户控制器继承了控制器基类并且存在对应的方法,则执行如下代码:   $view_file = $method-invoke($controller, $_REQUEST);   //获取对应用户控制器下需要显示数据的视图路径,根据相应视图中程序功能显示数据在实际应用中,控制器基类负责返回需要显示的数据,最后由视图基类所包含的模板文件显示。   3.

文档评论(0)

guan_son + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档