当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP FRAMEWORK

PHP
PHP 开发环境的选择、建立及使用(5)
PHP 开发环境的选择、建立及使用(6)
PHP 开发环境的选择、建立及使用(7)
PHP 开发环境的选择、建立及使用(8)
PHP 开发环境的选择、建立及使用(9)
Win2003下APACHE PHP5 MYSQL4 PHPMYADMIN 的简易安装配置
PHP新手上路(八) 文件上传
PHP新手上路(九) 投票系统
PHP新手上路(十) 简易banner动态更替
PHP新手上路(十一) 数据库链接
PHP新手上路(十二)使用PHP来操作Oracle数据库
PHP新手上路(十三)PHP资源
PHP新手上路(十四) 其他杂项
session全教程(一)
session全教程(二)
session全教程(三)
PHP编码规范
第十五节--Zend引擎的发展 -- Classes and Objects in PHP5 [15]
第十四节--命名空间 -- Classes and Objects in PHP5 [14]
第十二节--类的自动加载 -- Classes and Objects in PHP5 [12]

PHP FRAMEWORK


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 113 ::
收藏到网摘: n/a

关于php的FrameWork,现在大概有10多种,大体分为基于Java Struct移植的结构(Mvc结构) ,基于Ruby on Rails 移植的结构(Mvc结构),这2种的数量相对多一些,可以归类,其他有特色的还有基于事件驱动的结构.

大体看过的3个框架:

1.Studs,基于Struct移植的PHP框架.网上如此描述它:

Jakarta Struts结构移植过来的PHP开发框架,使用面向对象的开发结构和API,模拟了一个HTTP Servlet容器和使用了PHP服务页面引擎技术

/upimg/allimg/20060620/1400120.gif

大体流程是:

1.用户先将HTTP的请求(post,get)提交个控制器(Controller,在Java中一般使用Servlet),控制器根据本地配置XML,将请求发送给不同的业务逻辑,经过处理后,转向到一个指定的View,这个View的样式由模版生成,显示结果.

模板使用tag标签(一种已经定义好的动作标签与Jsp的jstl类似)

2.开发大体过程:

WEB-INF下都是Studs自带的类库和配置XML.

web.xml 映射XML,似乎不需要更改,默认就可以.

struts-config.xml 这里似乎是你所有的FORWARD地址和要处理的逻辑文件地址都放这里.

PSP 模版文件,里面除了HTML外还可以放标准的tag,这些tag都有自己的含义.包括循环,输出,引用等.

开发人员所要做的就是将HTML放到PSP里,并将一些如循环,echo等脚本用tag替换,设置struts-config.xml ,根据业务的需要设置负责请求的Action,建立继承自类库的PHP处理业务,如继承Action负责转向,继承ActionForm,处理表单.

优点:该有的都有了,看类里包括了Session,Sql,Io等各种包,应该把平时需要都纳入到框架里了,使用起来应该比较省事,不需要考虑安全,结构等问题,需要做的就是把自己的业务逻辑与流程结合就可以了,只要按照规范做就肯定不会太糟糕.真正使用它开发的话似乎会比一般单纯的开发要更安全,规范,思路也会很清晰,即使开发和维护不是同人也可以很快熟悉过程.特别是有了tag,即使设计怎样变换模版,只要业务逻辑不变,你就不需要修改PHP代码,你只要修改PSP,更改显示的方式.

缺点:开发前的学习过程不容易,首先需要了解它的运做方式,tag的各种功能,即使熟悉后,开发效率也不会很高,如果仅仅是比较开发效率的话,似乎不一定比页面+代码,不复用的开发模式快多少.特别是完全模仿JAVA框架,感觉是否会比JAVA的框架性能要减少不少,毕竟JAVA只编译一次,而PHP需要每次都编译,效率上会有折扣吧?

他的优势就是给你拐杖让你不需要考虑太多,缺点就是这个拐杖要常用才好用,真正想跑起来就没用了.

2.CakePhp:一个基于Ruby On Rails的框架,据说是2005年最受关注的PHP框架.

Ruby On Rails介绍:

Ruby On Rails是一个用于编写网络应用程序的软件包.它基于一种计算机软件语言Ruby,给程序开发人员提供了强大的框架支持.你可以用比以前少的多的代码和短的多的时间编写出一流的网络软件.比较著名的社区网站43things.com, odeo.com和basecamphq.com就是用Ruby On Rails编写的.

Ruby On Rails的指导原则是"不要重复你自己"(Don't Repeat Yourself, 或DRY).意思是说你写的代码不会有重复的地方.比如以往数据库的接口往往是类似的程序代码但是在很多地方都要重复用到.这无论是给编写还是维护都造成了很大的代价.相反,Ruby On Rails给你提供了绝大多数的支持,让你只需要短短的几行代码就可以实现强大的功能

    Rails 是一个用 Ruby 编写的全栈的(full-stack)、开源的 Web 框架,可以使用它来轻松编写实际的应用程序,所需的代码也要比大多数框架花在处理 XML 上的代码少。

      虽然我不能保证框架确实会提供它所承诺的轻松快乐,但是上面这句话确实很好地总结了 Rails 的品质。全栈包括:Web 服务器、处理 HTTP 请求和响应的框架,以及方便地把数据持久存储到关系数据库的框架。Rails 通过消除复杂的 XML 配置文件,使用 Ruby 语言的动态性质,帮助把静态类型语言中常见的许多重复代码减少到最少,努力使开发工作变得更容易

这个Ruby语言为基础的框架现在火的一踏糊涂,不仅在Ruby被使用,在Java,DotNet都是类似的遗址框架.

他的结构和J2ee的相比,比传统的Mvc模型少了几步:

/upimg/allimg/20060620/1400121.jpg

(点这里