欢迎来到天天文库
浏览记录
ID:6126700
大小:502.23 KB
页数:36页
时间:2018-01-04
《fleaphp 开发指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、FleaPHP开发指南整理By:ZERO1.开始前的准备工作为了避免各种不同开发环境配置对学习FleaPHP造成的干扰,因此建议你按照本文配置一个专门用于学习FleaPHP的开发环境。步骤:·首先下载APMExpress5 和FleaPHP完全版,并解压缩到硬盘。·最后,启动APMXE5,并从任务栏系统托盘区的APMExpress图标上选择“Start”菜单,运行Apache和MySQL。有关APMExpress的详细信息,请参考APMExpress1.5 火爆公测。注意:在开发指南中,如果没有特别说明,htdocs均指存放PH
2、P脚本文件的目录。当你使用APMXE5,并且将其解压缩到D:APMXE5目录时,则htdocs目录等同于D:APMXE5htdocs目录。2.FleaPHP中的MVC模式理解FleaPHP中,MVC模式是如何实现的,以及其特点,可以帮助你更好的运用FleaPHP。什么叫做设计模式?Designpattern简单来说,设计模式(Pattern)就是解决某一类问题的特定方法。由于这种特定方法在解决同类问题时具有通用性,所以我们就可以一次又一次的利用已有的经验。具体到程序编写上,就是我们可以用类似的程序结构和代码解决同类型的问题
3、。有关设计模式的详细内容,可以阅读经典著作《设计模式》,这里我就不班门弄斧了。MVC实际上是一系列略有不同的模式。FleaPHP采用的是Passive(被动)MVC模式。在PassiveMVC模式中,Model(模型)完全不知道自己身处于MVC结构之中。换句话说,Model就是一个普通的对象,与MVC模式里面的其他组成部分完全没有关联。具体而言,MVC模式涉及到下列三类对象:·M代表Model,即模型,用于封装与业务逻辑有关的代码和数据。例如对订单的各种计算。·V 代表View,即视图,用于呈现内容给用户(也就是将程序运行的结果
4、返回给浏览器显示)。例如商品列表页面、后台登录页面。·C代表Controller,即控制器,用于接收用户输入(通过浏览器发起的请求),然后调用模型(Model)对输入数据进行处理并获得处理结果。最后将结果传递到视图(View),从而让用户能够看到自己操作的结果。例如用户点击删除文章按钮后,控制器调用操作文章的模型,删除掉指定文章,最后通过视图显示成功删除文章的提示信息。经过这样简单的分离,我们就把应用程序操作数据的代码(绝大部分Web应用程序都是对数据进行操作)和处理用户输入输出的代码分离开来了。这种分离有许多好处:·清晰的将应
5、用程序分隔为独立的部分;·业务逻辑代码能够很方便的在多处重复使用;·方便开发人员分工协作;·如果需要,可以方便开发人员对应用程序各个部分的代码进行测试。36如果你上面的文字让你觉得很无聊或者不够严谨,那么说明你已经很熟悉MVC模式了。如果你看到上面的文字感到无所适从,那说明你还需要多阅读一些面向对象相关的书籍和文档。应用程序执行流程下面的插图描述了基于FleaPHP应用程序的执行流程。1.index.php是应用程序的入口文件,负责定义一些应用程序必须的常量,并载入FleaPHP框架,然后执行run()函数;2.过滤器链完成HT
6、TP请求数据解析、MagicQuotes处理等工作;3.应用程序控制根据HTTP请求,调用领域逻辑、表数据入口、组件等,并将处理结果传送到视图/模板;4.视图/模板根据应用程序控制器提供的数据生成输出内容并传送到浏览器。在FleaPHP中,index.php里面的run()在调用过滤器链后,会运行一个调度器。该调度器根据HTTP请求参数决定要调用的应用程序控制器。例如index.php?controller=blog&action=list这个请求表示要调用名为blog的应用程序控制器的list动作。然后调度器会调用这个控制器的
7、动作。在FleaPHP应用程序中,控制器实现为一个类,控制器动作就是该类的一个方法。在控制器(MVC模式中的Controller)方法中,通过调用领域逻辑代码(MVC模式中的Model)来处理HTTP请求提交的数据并获得结果。然后再将结果传递给视图(MVC模式中的View)。视图根据控制器方法提供的参数从模板文件构造最终的页面内容,并返回给浏览器。363.应用程序入口与许多开发框架一样,FleaPHP通常也使用一个入口文件来启动框架,并运行应用程序代码。虽然FleaPHP并不要求应用程序必须使用单一的入口文件,不过在本系列文章中
8、,我大部分时间都使用单一入口文件。单一入口应用程序在FleaPHP应用程序使用MVC模式时,应用程序的所有功能都通过一个单一的文件来调用。这种通过单一文件来执行所有功能的应用程序,称为单一入口应用程序。有关单一入口应用程序的一些信息,可以参考ChinaUnix上
此文档下载收益归作者所有