自-基于PHP为宿主语言的MVC开发实践

上传人:熠*** 文档编号:186651474 上传时间:2021-07-19 格式:DOC 页数:9 大小:304KB
返回 下载 相关 举报
自-基于PHP为宿主语言的MVC开发实践_第1页
第1页 / 共9页
自-基于PHP为宿主语言的MVC开发实践_第2页
第2页 / 共9页
自-基于PHP为宿主语言的MVC开发实践_第3页
第3页 / 共9页
自-基于PHP为宿主语言的MVC开发实践_第4页
第4页 / 共9页
自-基于PHP为宿主语言的MVC开发实践_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《自-基于PHP为宿主语言的MVC开发实践》由会员分享,可在线阅读,更多相关《自-基于PHP为宿主语言的MVC开发实践(9页珍藏版)》请在金锄头文库上搜索。

1、基于PHP为宿主语言的MVC开发模式实践讨论会暨NRE项目开发前培训一.前言本着发扬本部门自我学习,不断学习、交流的优良风尚,以提高本部门及部门成员的技术涵养和生产能力。此次,旨在于抛砖引玉,发问题之争端所有内容均是基于本人的认识和经验。所述没有绝对正确依据,仅供参考和讨论。二目录1.MC概述2.H结合框架的开发特性及其在系统编程里的几个注意点3.SARY模板引擎及相关页面技术(C,,jury)4.开发客户端的功能及用户体验.介绍常用的几个WEB开发相关技术三.MVC概述对于MC概念的理解、解释有很多,难以形成绝对标准的划分。它本身是基于OO而成型的。这里,虽然H不是纯的语言,但不妨碍我们的思

2、考1 概念MVC模型有基本的三层结构最早为mllal0语言开发的。这个语言正是纯的。现在jaa在开发WB应用时,基本上都会考虑它。PH也是一样,所以有人就做了一些组件来支持,但在实践过程中,应用一个模板分离的组件,并不就是实现了MVC。还需要程序员自己把握各层的深度和广度MVC结构图M:数据模型,与无序的数据资源(,LE)打交道。形成有序的数据集(应用程序,unctio,la,存储结构,scr这些都是其组成):用户视图,存在不影响其它部分的可换资源及方法;比如对数据的不同有序操纵,对数据样式的转换,对数据位置的变化。(cs,dv,htm,xl,sh这些)C: 控制器,事件驱动,自身不提供方法,

3、接受响应和调用模型。并响应到V端,操纵的是有序的数据集(具体到这里我们可能会通过smary和ajax,这里可以具体为jquery这些来实施)2 实践目的概念是定性的。重要还在于其应用。它的应用目的也很明显。利于设计,利于编码,利于调试,利于运维。但其基本目的是把M与V分离,通过C。保证两端有变化时,保持同步。和是可视的,很容易分清。C端是依附于两端的,其效率就依赖于程序员了。3.实践过程从实践的角度看,应该绝不限于开发的分离,也不限于功能的分离而应该是各端各自发挥自己的作用。比如:要把一个用户及其应的注册日期显示出来。通常的做法可能是:数据库返回的是一个标准的time格式时间;应用程序把用户名

4、及注册日期格式化组合;输出到用户端。在这里,如果把格式化时间的工作放在sarty,充分发挥其引擎。可以不需要反复改动应用程序,因为这个应用程序可能是包含在一个很复杂的过程中,更可能的是这个过程可能还被其它的模块引用。这种改动必然引起致命的错误。4成型产品这里也说明了一点。Smrty并不是视图层,也比如parD.为什么要应用它?如果不把数据库操作抽象出来。数据库的变更,可能会让整个系统重做一遍。像smaty,pard,je这些都不是直接属于M,V,C哪一层,它们实际上是为了联接不同层之间的支持。这一点跟成型的框架不一样。成型的框架会有严格的划分,并提供大量的odeles。但它们会限制应用四PHP

5、结合框架的开发特性及其在系统编程里的几个注意点1.首先框架与模型的关系。VC模型应该说是一种思考方式。具体起来它就是PHP程序框架之一种形式。作为框架来说,可以是各种不同的组织形式。它们其实是封装了大量的通用功能,比如ambo,osate,smny,这些。它可以是纯结构化的,也可以是纯对象化的,可以是基于VC的,也可以是混合式的.PH在系统编程里,存在有好的方面,主要在可复用资源上,可以复用一个function一个cas一个组件,比如一个相册,一个编辑器甚至整个模块,比如bs,log在复用时,要处理的关键就是集成了。集成方式通常有“内嵌”,“外挂”和二次开发。也有不好的一面,在代码的重构上.因

6、为是类似于C+的混合式开发语言,没有严格的规则,这样就把风险都分散和隐藏了.a分散到WEB服务器,留下安全b分散到集成测试和系统测试.分散到运维过程中这时就需要一些规则来规避它。详细见附件规避风险,封装一些你钟意的操作; 凌波微步,构造自己的工作台(workplnt)a.hb.”=”c.B-updte()五.SAT模板引擎及相关页面技术(CSS,DIV,jur)p框架有很多,比较早的有n,phlib,在国内比较新的有symfony,caeph有的功能强,集成能力弱。有的相反1.smarty,它并不是一个完整的php框架,更不是MVC模型的。它只是一个模板引擎。在应用中,可以灵活地被构造.安装p

7、m形式,只要设置工作路径,quire_oce Sarty.clas.php;mkir emplatesmkdir tempaeschmod 77tmplte_cmkdir cahechmod75cacheb.特点程序与逻辑的分离为实现MVC提供基础支持自动预编译脚本形成页面che提供语法,以支持对数据集的操纵插件机制支持二次开发c.简单用例dsply(“inextpl”);?d.smry 语法:/默认的注释 * /包含文件nclude l=”indx.tp”/显示变量$name/Vaiable modiiers(变量调节器),有一系列的可供设置的格式::格式例: dat|dateorat:”%

8、d-%Y”/逻辑处理,注意标签是首尾对应的if $name chaelif $na li ese/iffoeahnme=nmeie=ie ky=keyfrom=$va/foreachton nae=ame1 loo=varif $smrtsetion.name1.rownm!=smryscion.nme1.totalbr/ifsction/保证模板里的整洁tp/stri/引用时,模板不解释引用的内容itea/litealdim相当于 rlim相当于 介绍jqury基于aa,以事件为驱动。内核小,插件丰富jQury.noCofli();functinntook()jQery(dmnt)ady(i

9、t_hk);functoceck_t_ame() Quer.jax(type: PS,url: checwtnamepp,da: newwt_name=+hsvalue,ucces:funcion(sg) jQuery(#wtname_nw_msg).m(msg); );jQue(t_nae_new).bl(check_t_ne);Qury(retewt_form).suit(function()Query(“#op”)lk(function());Qry(#lis_obj)toge();va crr_optos= jQey(ivid=ist_otiut).atr(name);vr mg=Qu

10、ey(hiparenNoe.pentNod).paen(div).paent(div).fin(im).ttr(rc);jQuey(thi.parentdearentNode).paret(div)paent(div)arent(div).children(u).clren(i).in(img).tt(rc: st_ia);jQey(#cc_set_ist_fr).Draggble( hndle:span);页面相关s集中,继承作用域D 页面布局,如果一个页面的不同区域要调整,只需要单纯调整页面六开发客户端的功能及用户体验先看一些用户最烦的是什么1.内容聚集了很多,但找不到自己想要的其实,像B

11、BS就并不合这个标准,与之对应的是知道与百科,通常,内容被单向地垂直划分操作一会,出现一堆窗口3操作过程中,出现嵌套,找不到出路,也不知道当前身首何处被无提示地到处跳转,使用户没有安全感,操作起来提心吊胆,如屐薄冰5.操作过程中,出现中断,并且需要找到开始位置,从新开始6.还有更要命的是,辛辛苦苦录入一堆东西,突然因为一个误操作,重新来一遍.再来看对用户来说,感受会好一些的1有明确的功能点提示,能让用户在三秒钟以内知道自己要做什么这点最重要的是对内容的水平划分2.在同一个作业过程中,不被中断,并且内容主题只有一个(通常我们面临一个问题是,用户在操作半途中被引导去激活或者注册,这其时是有意识地欺

12、骗)3.围绕一个主题,能提供给用户有效的,有针对性的其它选择4.同一个操作流不出现嵌套,深度有限,不到处跳转5站点内容能合理地区分出“场”与“路”来。“场”有持续性,“路”有过程性6现场作业(像层的应用)7.能在任何时候知道自己身首何处小结用户体验绝不只是页面好看,赏心悦目。也不只是系统反应速度快。更不只是系统体现出的高可用性(比如防错处理),这些都是低级要求用户体验更应该强调与用户沟通的高级特性。能让用户无障碍,愿意并伴着乐趣去使用,当然还有安全性,这个安全性是指用户的信心指标按照“范式”理论。如果说到以用户为中心。那么每一个用户作为一个样本点。都有一个自己的“范式”。当然,因为应用的专业程度关系。在一个有限的作用域内。肯定有一个以上的样本点的“范式”会出现雷同或交叉。但不妨碍在做设计时的思考。设计时,就是要最大化地考虑到其边界七.介绍常用的几个EB开发相关技术1.wserice属于应用层高端服务技术通常用于认证,因为是通过HP和XM作为通信手段。所以可以应用于不同平台,不同操作系统,不同应用系统等型质差异大的领域。2. lugins工作机制属于中间层机制,作用于同一型质的系统内部可以使系统适应性强.mecache属于底层服务,作为一个独立的服务,运行在服务器端。超越E服务器的控制。支持不同的语言,但有较统一的方法。通过底层连接,也是作用域于底层,即

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 社会学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号