解读Yii-分层设计.ppt_第1页
解读Yii-分层设计.ppt_第2页
解读Yii-分层设计.ppt_第3页
解读Yii-分层设计.ppt_第4页
解读Yii-分层设计.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、解读YII优秀框架分层设计,苏倩QQ:635927818 Email:PHP框架描述:易国际主站: YII中国主站:/,一号。分层设计,a。您在项目开发过程中遇到过以下问题吗?1.面对需求的变化,我们代码的整体结构也要相应地变化,那就是传说中的一键式?2.在项目开发过程中,我们更注重内耗?在项目开发之初,我们充满了信心,但是我们半途而废了?我们开始抱怨和生气。4.相同的代码都在整个项目中。如果你修复了一个代码,你必须同时修改许多其他的代码,有时会有无法解释的错误?面对这些问题,我们是继续抱怨还是立即

2、解决?随着问题的出现,人们将开始探索解决问题的方法。为了解决项目维护困难、扩展性差、沟通受阻、开发效率低等问题,开发人员开始不断探索、研究和总结,并提出了分层理论。让我们来看看现场视察分层(七层网络)和TCP/IP四层物理层:定义物理设备标准,如网络电缆和光纤的接口类型。它的主要功能是在数据链路层传输比特流:用媒体访问控制地址封装和解封装从物理层接收的数据。设备是传输数据的开关。网络层:封装和解封装从较低层接收的数据的IP地址(如)。设备是路由器,这一层的数据通常称为数据包。传输层:定义传输数据的协议和端口号,如TCP和UDP。它主要是将从低层接收到的数据进行分段和传输,

3、然后在到达目的地址后进行重组。这一层数据通常被称为段。会话层:数据传输路径是通过传输层建立的。表示层主要在系统之间发起会话或接受会话请求:它主要解释接收到的数据,对其进行加密和解密,压缩和解压缩(也就是说,将计算机可以识别的东西转换成成人可以识别的东西,如图片和声音等)。)。应用层:终端应用,如文件传输协议、网络、QQ)。2。现场视察第7层和传输控制协议第4层之间的对照表。3.每一层的功能和协议。网络分层的优势。1.服务、接口和协议三层清晰,职责分离。2.上层只需要知道下层的接口,而不需要知道内部的具体实现。下层为上层提供服务。每一层只与相邻层交互和通信,与其他层没有业务交集。它职责单一,独立

4、性强,层内内聚性高,层间耦合性低,便于开发,减少了沟通。4.降低问题的复杂性。当网络出现故障时,可以快速定位故障级别,便于发现和纠正错误。5.每一层都定义了标准接口,因此不同的对等网络设备可以互操作,而每一层都是相对独立的。一个高层协议可以在多个低层协议上运行,可扩展性好。6.网络技术创新只需要升级一些层次,而不是全部更新。强大的可扩展性。软件领域的三层架构。概念,数据访问层DAL:操作对象是数据库和数据。业务逻辑层BLL负责数据的处理和处理,将前一层和后一层联系起来,对DAL提供的数据进行逻辑处理,实现业务目标和具有商业价值的东西。同时,它为视图层提供了统一的接口表示层Web:主要是人机交互

5、,接收或响应用户请求,显示由业务逻辑组织和处理的数据或记录用户信息和行为,视图层,业务逻辑层,数据访问层,数据访问对象,RDBMS,No Sql,业务规则,业务逻辑,接口,布局和引擎分析,实体层,2。原则,1 .每层提供的外部接口有3个。上层调用下层api,下层实现细节和需求的变化不会影响上层结构。,3。优势,1。可扩展性:每一层都可以灵活地部署在不同的服务器上,实现分布式或集群化。2.可维护性:如果需求改变,只需相应地调整某一层的实现。3.可管理性:分工明确,易于跟踪4。可伸缩性:添加功能只需要在相应的级别进行调整。5.可重用性:业务逻辑模块可以由系统的多个模块共享。三层架构的变体三层模式1

6、。模型-视图-控制器是软件工程中的一种软件体系结构模式。HTTP请求首先到达控制器层,并由控制器层进行调度。模型层和视图层实际上相互通信,并具有相应的用户界面逻辑。2.MVP (Model-View-presenter)也是软件工程中的一种软件体系结构模式,其核心是减少视图层和模型层之间的通信,完全分离模型层和视图层之间的关联,HTTP请求首先到达视图层。视图将请求传递给演示者,演示者分派模型层,演示者通过视图界面实现视图和模型之间的交互。3.MVP的优点和缺点。1.模型与视图完全分离。我们可以在不影响模型的情况下修改视图。2.我们可以更有效地使用这个模型,因为所有的交互都发生在一个演示者身上

7、。3.我们可以将一个演示者用于多个视图,而不改变演示者的逻辑。这个特性非常有用,因为视图总是比模型变化更频繁。5.如果我们把逻辑放在Presenter中,我们可以在没有用户界面的情况下测试这些逻辑的缺点(单元测试)。1.视图和演示者之间的交互过于频繁。2.演示者承担了太多的责任,这可能会导致这一层的业务逻辑过于臃肿。三层架构和三层模型之间的关系。1.三层体系结构是一个概念层次,是一种软件层次设计理论。三层模型是由开发人员根据项目经验总结出来的,是三层架构2的表达。三层模型是三层架构的变体。2.三层概要,商业逻辑层(模型)1。Yii中的模型层做了什么?1.1 .ORM 1.2封装的热情层1.3封

8、装的Dal 1.4。验证1.5。表单模型和数据库模型1.6之间的绑定关系。业务逻辑(部分或全部)。2.模型分类Yoi模型是CModel或其子类的一个例子。模型用于维护数据及其相关的业务逻辑。Yii实现了两种类型的模型:表单模型和活动记录。表单模型:是CFormModel的一个子类。表单模型用于从用户表单中获取数据并对其进行验证。主动记录:主动记录是ORM的一种实现,主要用于对应关系数据库中的数据和关系。Yii中AR类的实现必须继承CActiveRecord对应的类。表,对应于对象的行和对应于列的属性。2.1表单模型验证规则特征标签,超文本标记语言表单1,本地超文本标记语言表单2,超文本标记语言

9、生成表单3,使用配置文件的表单生成表单,2.2活动记录活动记录是一个面向数据库的数据源模式。对象关系映射(ORM)的一种实现,在Yii中,域逻辑采用活动记录(简称AR)来组织。数据源架构模式,2.2.1AR,公共接口描述,查询查找所有(),查询所有结果集;Find()查询出单个结果集;findAllAttributes();通过属性查找所有结果集查找属性();通过属性查找单个结果集findAllBySql()。根据原始Sql查找所有结果集findBySql()。根据原始Sql查找所有结果集findAllByPk()。根据主键,检查所有结果集查找范围();单击主键检查所有结果集并添加();保存(

10、);删除删除();删除所有();deleteAllByattributes();dleteByPk();更新更新();updateAll();updateByPk();updateCounters();计数();countByAttriubes();countbyql();其他GetDbConnection();GetDbCretiReA();getDbCommandBuilder();GetErrors();GetError();规则();关系();行为();bind params();2.2.2使用说明添加或修改查询、删除命名范围、延迟加载和紧急加载延迟加载:获取增强现实实例中的关联属性。

11、如果以前没有访问过此属性,则关联的查询会对其进行初始化。它关联两个表,并通过使用当前增强现实实例的主键来过滤紧急加载:获取主增强现实实例并同时获取关联的增强现实实例。如果表A和表B之间的关系是一对多,那么表B属于表A。如果表A和表B之间的关系是一对多的,那么表A有一个以上的HAS_ONE:这是HAS _ MANY的一种特殊情况,表A在数据库中最多有一个对应于多对多关系的BMANY _ MANY3360。大多数数据库管理系统不直接支持多对多关系,并且有一个关联表将多对多关系分成一对多关系。在AR术语中,许多可以被解释为属于和拥有许多的组合。例如,邮政属于许多)类别。类别有许多帖子。c,视图层1,

12、名词和概念解释布局:是一种用于修改的视图,也是一个视图文件,描述一个网页的体系结构和框架,并且是视图的一般部分。视图:是指实现系统与用户交互的具体界面,捕捉用户的行为和界面显示。渲染:在控制器中对视图进行一定程度的处理和过滤,并将处理后的干净数据传输到视图进行显示。视图指南:用于管理和解析视图,并提供视图层的标记、缓存和编译机制。小房间:是一个具有特定功能和丰富逻辑的视图。2.代码片段2.1获取指向视图变量控制器属性公式:中的控制器的$this指针的属性,$ this-属性呈现推送公式: $ this-呈现(编辑,数组(var1=$ value 1);2.2布局更改控制器的$layout公共属性,$ this-layout= application . blog . main 2.3渲染和渲染布局视图:$this-reader(视图名称,视图参数); $ this-RenderParative(视图名称,视图参数)用于非布局视图;2.4小对象$ this-widget (path.to.widget类);控制器控制器:这是控制器的一个例子。计划视图和模型。基于控制器的动作:是用户的特定行为和一种方法的控制器子类对象。该方法由CInlineAction维护。基于类的动作:一般动作放在这个地方,它一般继承CAction,也可以组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论