




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京传智播客教育 php进阶讲师:韩顺平 主讲 韩顺平php进阶-内容介绍(一) 如何在php中显示图片(二) 分页技术详解(三) 雇员管理系统功能改进(四) 网站框架的改进主讲 韩顺平在php中显示图片这个非常简单:在你的www(最好是你的网站目录下,建立一个文件夹,比如imgs).然后将图片拷贝到文件夹下.在php中添加: 即可 应用实例在管理界面显示左边的图片.让我们动手实践以下吧主讲 韩顺平分页技术 分页是任何一个网站(bbs、网上商城、blog)都会使用到的技术,因此学习b/s开发就一定要掌握该技术.主讲 韩顺平分页技术我们先讲讲分页的算法:我们需要定义四个变量,它们有各自的用处pa
2、geSize : 每页显示多少条记录 pageNow : 希望显示第几页pageCount : 一共有多少页 rowCount : 共有多少条记录说明: pageSize 是指定的 pageNow 是用户选择的rowCount 是从表中查询得到的pageCount 是计算出来的 该计算式为if(rowCount%pageSize=0)pageCount=rowCount/pageSize;elsepageCount=rowCount/pageSize+1;举例说明:有用户表 共 9条记录: rowCount=9;每页显示3条记录: pageSize=3;那么根据我们的算法: pageCount
3、=3 ,刚好不多不少如果每页显示4条记录pageSize=4 那么pageCount=3 , 那么最后一页只有1条记录所以,不管怎样都是正确的主讲 韩顺平分页技术mysql :select * from 表名 where 条件 limit 从第几条取 , 取出几条记录(pageSize)sql server :select top 取出几条(pageSize) 字段列表 from 表名 where 字段 not in (select top (pageNow-1)*pageSize 字段 from 表名)以我们前面的employee表为例,显示第2页,该查询语句就是:select top 3
4、* from employee where userId not in (select top 3 userId from employee)oracle :select * from (select t1.*,rownum rn from (select * from 表名 where 条件) t1 where rownum=从第几条取(pageNow-1)*pageSize+1;主讲 韩顺平分页技术 应用实例分页是非常有趣的,我们在employeeList页面增加显示用户信息,并进行分页显示。好!当登录用户的级别是管理员,就在employeeList.php页面显示所有用户信息.lets
5、try it now!主讲 韩顺平雇员管理系统功能改进 雇员管理系统(版本1.1)在上一讲的雇员管理系统中添加如下功能:version1.1 新增加的功能:1: 如何在管理界面显示一张图片2: 如何对雇员信息列表分页知识点1: 如何测试sql语句的效率2: 分页算法的介绍和实现主讲 韩顺平网站框架的改进-问题分析留心的朋友可能看到了程序设计是有不合理的地方:这种方法将界面和业务逻辑放在一起(model1模式),存在以下问题:1: 在loginCl.php 文件和employeeList.php文件中都去操作了数据库,它们的逻辑相似,有重复代码2: 整个框架没有清晰的层次关系,显得非常乱.3:代
6、码一点也不优雅, 可读性差,可维护性差.主讲 韩顺平Model1模式介绍这里我们必须提到,在软件开发中有几个重要的开发模式:Model1 模式 2. 分层模式(界面、业务逻辑分离) 3. mvc模式(zf) Model 1的最重要的特点就是没有分层的概念,也就是说吧界面显示和业务逻辑的处理放在一个文件中来完成。Modle1模式的缺点:1. 表现层和业务逻辑层混合在一起(乱!)2. 在开发过程中,不利于多人的协同开发3. 不利于后期的维护Model1模式的优点:1. 简单,开发速度比较快。2. 比较适合开发小的项目。主讲 韩顺平雇员管理系统框架改进分层模式 model1开发模式的反思留心的朋友可
7、能看到了程序设计是有不合理的地方:这种方法将界面和业务逻辑放在一起(model1模式),存在以下问题:1: 在logincl.php 文件去操作了数据库,employeeList.php也操作了数据库,类似逻辑将来会有很多,有重复代码2: 整个框架没有清晰的层次关系,显得非常乱.3:代码一点也不优雅, 可读性差,可维护性差.主讲 韩顺平改进方案:分层开发模式通过对问题的分析,我们可以对程序进行改进:1:进行分层(界面层、业务逻辑层)即:model1转为 界面层用php、业务逻辑层用类(类中封装业务操作)。2:将常用的代码(比如连接数据对数据库的操作),封装到类中。这里我们改进完后,有心的朋友会
8、发现,呵呵,代码真的变得清晰了,感觉有能力编写较大的网站,好! 让我看看如何改进。(框架图) 一个名词:有些书上把这种分层模式称为:mv模式,即:m-model模型(业务逻辑层,-类)v-view视图(界面层,php)主讲 韩顺平雇员管理系统框架再改进 分层开发模式分析通过前面的修改,我们的系统框架在可读性、维护性和扩展性上有了明显的改善,从上面的案例来看,我们似乎看到一个近乎完美的开发模式,也就是分层开发(界面、业务分离)模式:login.php输入数据,logincl.php通过调用service类(模型)处理业务,employeeList.php显示数据。啊,这是一种多么完美的开发模式。
9、但是我们细心的分析一下发现还有不足的地方:1:UpdateEmpUI.php 页面充当了界面,同时又去响应用户的各种请求,当请求过多时(这种需求在大型项目是很多的), 该页面的结构就遭到破坏,也就是说代码比较乱。2: 主讲 韩顺平雇员管理系统框架再改进 改进方案:mvc开发模式模型(M)视图(V)控制器(C)(MVC)是Xerox PARC施乐帕克研究中心在八十年代为编程语言Smalltalk80发明的一种软件设计模式,至今已被广泛使用。MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。MVC的各
10、个字母分别是M(model模型)、V(view视图)、C(controller控制器)。M 主要由 类 来做,用于处理具体的业务逻辑.V 由php来做,主要用于做界面(即显示数据)C 有php来做,用于去响应用户的各种请求(比如增,删,改.)主讲 韩顺平雇员管理系统框架再改进 如何理解 mvc开发模式(理论版)主讲 韩顺平雇员管理系统框架再改进 如何理解 mvc开发模式(简单理论版)视图php控制器 php模型(类,比如XxxService)视图(php)http 请求 调用跳转数据库操作调用调用 应当尽量减少php对 模型类(XxxxService类)的直接调用主讲 韩顺平雇员管理系统框架再
11、改进 改进方案:mvc开发模式通过对问题的分析,我们可以对程序进行改进:1:增加 控制器即:EmployeeCl.php 响应对employee表的各种操作,充当控制中转的优势。2:在控制器(EmployeeCl.php)中去调用模型(model)去完成操作。这里我们改进完后,有心的朋友会发现,呵呵,代码真的变得更加清晰了,感觉有能力编写大型的项目,代码的可读、扩展、维护性进一步加强了 (看看框架图,我们开始吧!)主讲 韩顺平雇员管理系统框架再改进 如何理解 mvc开发模式(通俗版)方便面拣菜封包 成品使用工具使用工具主讲 韩顺平雇员管理系统框架再改进 mvc开发模式小结现在我们总结MVC的处理过程:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理然后调用模型用来处理用户的请求并返回数据最后控制器用相应的视图显示模型返回的数据,并通过浏览器呈现给用户。主讲 韩顺平雇员管理系统框架再改进 mvc开发模式缺点MVC是优秀的设计思想,但是它也存在缺点:1. 工作量增加了。 由于开发者将一个应用程序分成了三个部件,所以使用MVC同 时也意味着你将要管理比以前更多的文件,这一点是显而
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合伙人入股协议书3篇
- 共建和谐供应商反恐行动3篇
- 年人才输送协议书范文3篇
- 保险退保委托书中的保险条款解读3篇
- 兼职教师聘用协议书范文3篇
- 化工产品市场分析劳动合同格式2篇
- 地皮转让合同3篇
- 纸板容器研发成果转化考核试卷
- 电力设备状态维修策略与应用考核试卷
- 育苗专家系统开发与应用考核试卷
- 创新物业服务管理的思路与方法
- 上市公司涉税风险分析报告
- 少数民族维吾尔族民俗文化介绍图文课件
- 引导接车监控装置操作办法
- 《中国马克思主义与当代》部分课后题-参考答案
- 读书分享交流会《外婆的道歉信》课件
- 科技论文写作与学术规范课件
- 医疗器械自查表【模板】
- 2023学年完整公开课版《2BM3U2Rules》教学
- 曼陀罗绘画疗法
- 四年级下册英语素材单元知识点总结 陕旅版
评论
0/150
提交评论