MVC设计模式在Yii框架中应用与研究.docVIP

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

MVC设计模式在Yii框架中应用与研究   摘 要   文章对小型PHP框架Yii的MVC特性进行了研究。MVC是一种设计模式,它的目标是将应用程序的输入、处理和输出流程按照模型层、视图层和控制层的方式进行分离。Yii中的MVC使Web开发过程可复用度最大化,显著提高开发者的Web应用开发速度。   【关键词】Yii PHP框架 快速开发 MVC   1 引言   利用Web应用框架进行Web开发已成主流,目前大部分的Web应用框架都建立在MVC模式之上。使用框架开发不仅将视图层、数据层、控制层分离,实现人员分工的高效性,同时在提高代码复用的基础上,加快了开发速度。Yii 框架就是目前新兴的一种用PHP语言实现的MVC(模型―视图―控制器)模式的Web框架。 MVC模式将业务逻辑从用户界面的考虑中分离,这样开发者就可以更容易地改变每一部分而不会影响其它部分。随着网络应用的快速增加,MVC模式对于Web应用的开发无疑是一种非常先进的设计思想。   2 MVC设计模式   MVC是软件工程中的一种软件设计模式(Design pattern),是当前流行的Web应用框架的事实标准。它将业务逻辑、数据和界面显示进行分离来组织代码。MVC把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),这三个部分既相互分离,又相互联系,是一种低耦合、高内聚的设计模式,如图1所示。   MVC的优势为:   (1)实现了显示逻辑、控制逻辑和业务逻辑的分离。   (2)模型是整个系统最复杂、最核心的部分,模型的抽取有利于多个视图共用一个模型,避免了重复开发,提高了系统的可重用性。   (3)MVC有利于系统以后的扩展和移植。   3 Yii中的MVC应用   Yii 是一个基于组件的高性能 PHP 框架,用于快速开发各种 Web 应用。Yii的MVC模式提供了一种快速开发的手段,其核心理念是程序代码的重用和各种关注点的分离。   3.1 模型的应用   Yii的模型用于表示底层数据结构以及与其相关的业务逻辑,是Yii框架的核心。模型是CModel或其子类的实例,在Web应用的各部分共享,它是单独的数据对象,可以是数据表中的一行,或一个用户输入的表单。   3.1.1 对应数据表的模型(基于CActiveRecord类)   Active Record(AR)是一种对象关系映射(Object Relational Mapping)技术。模型将表映射到类,行映射到对象,列则映射到对象的数据。每一个AR类代表一个数据表(或视图),数据表(或视图)中一行各列字段的值对应AR对象中的一个属性,AR类的实例代表了数据表的一行。AR类不单单是数据表中的字段和类中属性的映射关系,它还需要在这些数据上处理一些业务逻辑,定义了所有对数据表的读写操作。   例如创建一个基于CActiveRecord 类的模型Product:   class Product extends CActiveRecord {   public static function model($className=__CLASS__) {   return parent::model($className);   }   public function tableName() {   return product;   }   public function rules() {   return array(array(title, content, required),);   }   }   模型创建后,可以使用父类的方法完成数据表的插入、查询、更新、删除和事务等操作。   例如向数据表中插入新行:   $product=new Product;   $product-title=产品标题;   $product-content=产品描述;   $product-save();   3.1.2 对应表单的模型(基于CFormModel类)   通过HTML表单收集用户数据是Web程序开发的主要工作之一,基于CFormModel类的模型可以记录用户输入的数据,并进行验证。   下面的例子建立一个UserLogin模型类,用于在一个登录页面中收集用户的输入。由于登录信息只用于验证用户,并不需要保存,因此将UserLogin声明为表单模型。   class UserLogin extends CFormModel {   public $username;   public $password;   }   UserLogin中定义了两个属性:$username和$pass

文档评论(0)

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

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

1亿VIP精品文档

相关文档