php分层

表示层         UI      主要表示WEB方式,也可以表示成WINFORM方式。如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。

业务逻辑层  BLL     主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。

数据库访问层   DAL  主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层

二、具体区分
  1.表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。
  2.业务逻辑层:主要负责对数据层的操作,也就是说把一些数据层的操作进行组合。
  3.数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作,而不必管其他操作。

三、总结
  三层结构是一种严格分层方法,即数据访问层(DAL)只能被业务逻辑层(BLL)访问,业务逻辑层只能被表示层(USL)访
问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据
显示在表示层。有的三层结构还加了Factory、Model等其他层,实际都是在这三层基础上的一种扩展和应用.

其实像TP这种框架可以再添加一个层,service层,这样controller调用service,service进行主要的业务逻辑  service调用model  controller可以变得很轻,逻辑清晰,而且service的复用性变得很好

时间: 2024-11-04 06:41:25

php分层的相关文章

Java分层开发

1.什么是三层架构: 三层架构分为:Action--Service(biz)--Dao Dao层是使用了Hibernate连接数据库.操作数据库(增删改查). Service(biz)层:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断). Action层:引用对应的Service(biz)层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理. 以上的Hibernate,Struts,都需要注入到Spring的配置文件

协议分层与OSI参考模型

协议的分层 OSI参考模型将通信协议中必要的功能分成了7层.通过这些分层,使得那些比较复杂的网络协议更加简单化.在这一模型中,每个分层都接收由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务.上下层之间进行交互时所遵循的约定叫做"接口".同一层之间的交互所遵循的约定叫做"协议".如图: OSI参考模型 OSI参考模型将这样一个复杂的协议整理并分为了易于理解的7个分层: OSI参考模型中各个分层的作用 应用层 为应用程序提供服务并规定应用程序中通信相关的

编程之美-分层遍历二叉树

问题:给定一个二叉树,要求按分层遍历该二叉树,即从上到下按层次访问该二叉树(每一层将单独输出一行),每一层要求访问的顺序为从左到右,并将节点依次编号.那么分层遍历如图的二叉树,正确的输出应该为: <span style="font-size:14px;">1 2 3 4 5 6 7 8</span> 书中还给出了问题2:打印二叉树中的某层次的节点(从左到右),其中根结点为第0层,成功返回true,失败返回false 分析与解法 关于二叉树的问题,由于其本身固有的

分层数据表示模型--多层非负矩阵分解

1 简介 为了理解复杂的数据,人们提出了分层特征提取概念.著名的算法之一是2006年Hinton提出的Deep Belief Network(DBN).随着训练深层结构的成功,人们又提出了许多深度学习的变体.尽管这些多层算法产生了多层方法在特征提取和提供对复杂问题的有效方法,但并没有告诉我们通过多层结构学到的特征之间的关系. 本文我们提出了一个分层数据表示模型,分多层的非负矩阵分解.我们提供了NMF算法的一个变体,nsNMF来进行分层学习.这里,我们通过在数据集上学习层之间的关系直观的展示特征分

iOS开发项目-02添加子控制器以及项目分层

iOS开发项目-02添加子控制器以及项目分层 一.添加子控制器 1.设置根控制器(自定义) 说明:分析新浪微博应用,观察其整体建构层次.而系统的控制器不能满足项目开发的需求,这里把项目中原有的控制器删除. 自己定义一个TabBarViewController类.让这个类作为window窗口的根控制器. YYAppDelegate.m文件代码: 1 #import "YYAppDelegate.h" 2 #import "YYTabBarViewController.h&quo

bzoj1190--梦幻岛宝珠--分层dp+01背包(未完成)

Description 给你N颗宝石,每颗宝石都有重量和价值.要你从这些宝石中选取一些宝石,保证总重量不超过W,且总价值最大为,并输出最大的总价值.数据范围:N<=100;W<=2^30,并且保证每颗宝石的重量符合a*2^b(a<=10;b<=30) Input 输入文件中包含多组数据.每组数据的格式如下:第一行是两个正整数n和W,1≤n≤100,1≤W≤2^30,分别表示宝石的数目和最多能带走的宝石重量.接下来的n行,每行有两个正整数weighti和valuei,1≤weight

binary-tree-zigzag-level-order-traversal——二叉树分层输出

Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example:Given binary tree{3,9,20,#,#,15,7}, 3 / 9 20 / 15 7 return its zigza

云计算分层

云计算分层 云计算分几层的,分别是Infrastructure(基础设施)-as-a-Service,Platform(平台)-as-a-Service,Software(软件)-as-a-Service.基础设施在最下端,平台在中间,软件在顶端. IaaS: Infrastructure-as-a-Service(基础设施即服务) IaaS主要包括计算机服务器.通信设备.存储设备等,能够按需向用户提供的计算能力.存储能力或网络能力等IT基础设施类服务,也就是能在基础设施层面提供的服务. Paa

配置Exchange 2016分层通讯薄(HAB)

通过使用分层通讯簿 (HAB),最终用户可以利用组织的分层结构查找通讯簿中的收件人.通常,用户仅限于默认全局地址列表 (GAL) 及其收件人属性,GAL 的结构通常不会反映组织中收件人的管理或资历关系.能够自定义 HAB 以反映您的组织独特的业务结构,这可以为您的用户提供查找内部收件人的高效方法.创建完成后的效果如下: 一般步骤如下: 创建用于根组织(顶层)的通讯组.如果需要,可以将 Exchange 林中现有的组织单位用作通讯组. 创建子层的通讯组并将其指定为 HAB 成员.修改这些组的 Se

web项目的分层开发

没实习之前,一直在学校实验室做项目,项目比较简单,套个SSH或者SSM框架,就行了.项目大体分为了controller层.service层.dao层.domain层. controller层主要是与web页面相关的,比如页面中的一个"点赞"请求会根据配置文件或者注解映射到controller中对应的某个类(struts2)或者某个方法(springmvc). service层主要处理业务逻辑,比如"点赞"之后,系统有邮件通知你.为你加积分等这样的业务操作,都属于se