From : http://yp.oss.org.cn/software/show_resource.php?resource_id=742
本文给大家介绍一下国外最流行的基于MVC设计模式的PHP框架,对你有一定的帮助哦。
1. Yii
Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上,Yii是最有效率的PHP框架之一。
2. CodeIgniter
CodeIgniter是一个应用开发框架——一个为建立PHP网站的人们所设计的工具包。其目标在于快速的开发项目:它提供了丰富的库组以完成常见的任务,以及简单的界面,富有条理性的架构来访问这些库。使用CodeIgniter开发可以往项目中注入更多的创造力,因为它节省了大量编码的时间。
3. CakePHP
CakePHP是一个快速开发PHP的框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的框架,而且这个快速的实现并没有牺牲项目的弹性。
4. PHPDevShell
PHPDevShell是一个开源(GNU/LGPL)的快速应用开发框架,用于开发不含Javascript的纯PHP。它有一个完整的GUI管理员后台界面。其主要目标在于开发插件一类的基于管理的应用,其中速度、安全、稳定性及弹性是最优先考虑的重点。其设计形成了一个简单的学习曲线,PHP开发者无需学习复杂的新术语。PHPDevShell的到来满足了开发者们对于一个轻量级但是功能完善,可以无限制的进行配置的GUI的需求。
5. Akelos
Akelos PHP框架是一个基于MVC设计模式的web应用开发平台。基于良好的使用习惯,使用它可以完成如下任务:
◆方便的使用Ajax编写views
◆通过控制器管理请求(request)及响应(response)
◆管理国际化的应用
◆使用简单的协议与模型及数据库通信
你的Akelos应用可以在大多数共享主机服务供应方上运行,因为Akelos对服务器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用于发布单独web应用的框架,因为它不需要非标准PHP配置便能运行。
6. Symfony
Symfony是一个用于开发PHP5项目的web应用框架。
这个框架的目的在于加速web应用的开发以及维护,减少重复的编码工作。
Symfony的系统需求不高,可以被轻易的安装在任意设置上:你只需一个Unix或Windows,搭配一个安装了PHP5的网络服务器即可。它与差不多所有的数据库兼容。Symfony的价位不高,相比主机上的花销要低得多。
对于PHP开发者而言,使用Symfony是一件很自然的事,其学习曲线只有短短一天。干净的设计以及代码可读性将缩短开发时间。开发者可以将敏捷开发的原理(如DRY,KISS或XP等)应用在其中,将重点放在应用逻辑层面上,而不用花费大量时间在编写没完没了的XML配置文件上。
Symfony旨在建立企业级的完善应用程序。也就是说,你拥有整个设置的控制权:从路径结构到外部库,几乎一切都可以自定义。为了符合企业的开发条例,Symfony还绑定了一些额外的工具,以便于项目的测试,调试以及归档。
7. Prado
PRADO团队由一些PRADO狂热者组成,这些成员开发并推动PRADO框架以及相关项目的进行。
PRADO的灵感起源于Apache Tapestry。从04年开始,PRADO成为SourceForge上的开源项目之一。这个项目目前进展到了3.x版本。
8. Zend
作为PHP艺术及精神的延伸,Zend框架的基础在于简单,面向对象的最佳方法,方便企业的许可协议,以及经过反复测试的快速代码库。Zend框架旨在建造更安全,更可靠的Web 2.0应用及web服务,并不断从前沿厂商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那里吸收精华。
9. ZooP
Zoop PHP框架,意为Zoop面向对象的PHP框架。
这是个稳定,可伸缩并可移植的框架。从诞生到现在的5年间,已经在不少产品开发中被使用。Zoop是一个快速,有效并干净的框架。它的伸缩性很好,你可以只安装你需要的功能。
对代码并不很熟悉的开发者也可以通过Zoop快速的开发安全的web应用。熟练的开发者则可以更加将Zoop的弹性利用到极致。
Zoop建议将display,logic以及数据层(MVC)分开使用。
Zoop由很多组件和项目集合而成,其中包括smarty和prototype AJAX框架,PEAR模块等。高效的核心组件提供了很多你原本需要自己编码来实现的功能。Zoop内置的纠错功能可以通过配置实现生产环境下的错误日志生成,这个错误日志提供了很多信息,可读性很高,可以更轻易的寻找并排除错误。
Zoop的一个特别之处在于其GuiControls,在PHP中是一个相当革新的想法。它提供了很多form widgets与验证完整的集合到一起,并形成了一个可以轻松打造个性化GuiControls的框架。
10. QPHP
QPHP,意为快速PHP,它是一个与ASP.NET类似的MVC框架。基本上它是这样一个情况:
◆整合了Java和C#的美感
◆除去了在其他PHP框架中使用的Perl形式的意义含糊的语言
◆大量基于OOP的概念
From : http://fur2002.blog.163.com/blog/static/3100442009413115417133/
ThinkPHPThinkPHP(FCS)是一个开源的快速、兼容而且简单的面向对象的轻量级PHP开发框架,全称是Fast,Compatible & Simple OOP PHP Framework。FCS框架是从Java的Struts结构移植过来的中文PHP开发框架,是为了简化企业级应用开发而诞生的,使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,借鉴了国外一些不错的思想,尤其是Java框架方面,因此熟悉Java的开发人员相对比较容易上手。在借鉴国外优秀思想的同时,FCS也更多地考虑了国内的应用开发需要。PHP4兼容、完全支持UTF-8,以及PATHINFO支持等,更加有利于国内的主机环境和开发需要。FCS的宗旨是简化开发、提高效率和易于扩展。
Php On Trax是一个采用MVC架构,适用于PHP5与PHP4环境,基于Ruby on Rails框架思想的web开发与持久层框架。它包含了创建依赖于数据库的Web系统所需要做的所有事件,是Ruby on Rails框架的一个真正PHP克隆。
PRADO是一个基于组件和事件驱动的PHP5开发框架。它以组件,事件,属性来代替传统web开发中的程序,URLs和查询参数。一个PRADO组件是由一个说明文件(XML),一个HTML模板和一个PHP类组件。一个个PRADO组件组合在一起形成大型组件或完整的PRADO页面。PRADO具有如下特点:
- 复用性 - 符合PRADO组件标准的代码是高度可重用的。
- 易于使用 - 使用PRADO组件非常简单,通常只需要配置它们的属性,编写相关的事件处理函数。
- 健壮性 - PRADO让开发者不再被那些令人厌烦的有很多错误的的代码所困扰。它的代码都是有对象,方法和属性组成的;而不是Url地址和各种query参数。PHP5最新的Exception处理机制也被引入进来,让开发人员能够精确定位到错误代码的所在行数。
- 高效 - PRADO开发的Web应用运行很快。PRADO实现了一种缓存机制,使用其开发的应用的运行效率能够和那些通常使用的模版引擎开发的应用的运行效率相媲美。
- 团队开发 - PRADO允许内容和表现方式分离。组件,尤其是页面,将内容(逻辑)和表现方式分别保存在不同的文件中。
InterJinnTM是一个开源多层Web框架。它具有以下特点:
- session管理
- profile管理
- 运行时组件绑定
- 运行时属性绑定
- 提供缓存机制
- 带有校验功能的Form引擎
- 可定制的模板系统
- 国际化支持
FastFrame是一个采用MVC架构,侧重面向对象的Web应用开发框架。它的目标是让开发人员快速构建简洁,安全,强壮的Web应用系统。FastFrame提供了一些一个Web应用系统都需要的功能:身份验证,Action处理,错误处理,多语言支持,form创建,提供各类型的Menu系统等等。
CodeIgniter是一个非常小,但很有前景的PHP开发框架。它提供了一个丰富的代码库,其中封装了开发web应用系统常用到的一些功能。并为访问代码库提供简单的接口与逻辑结构。CodeIgniter主要目的尽量精减代码量。
Qcodo是一个适用于敏捷开发基于PHP5采用MVC架构与CRUD代码生成功能的框架。完全面向对象,采用事件驱动处理方式。完全分离代码与HTML页面。QForms与QControl 包提供底层AJAX支持。
Binarycloud是一个PHP Web开发框架。它提供一组在开发Web应用程序时经常用到的服务,并通过提供一个模块化的应用程序架构来改善复用能力。这个框架的核心是表现层系统(Node Tree),它主张从表现层逻辑中严格分离出业务逻辑。该Node Tree采用一种独特的,对象可自由分层的设计方式。Smarty模板引擎是默认的表现层并紧密地结合到binarycloud框架中。
Studs是把Jakarta Struts MVC框架结构完整地移植到PHP中的一个Web开发框架。 其包括:一个核心包(Horizon:一个面向对象的环境与API)。一个Servlet容器(Stratus:一个Http Servlet容器它包含两个核心功能web.xml解析与doService()方法调用)。一个服务页面引擎(Phase:支持规则JSP语法,EL表达式,提供一个类似于JSTL的标签库用于数据操作与输出)。整个类似于J2EE Web容器环境。
Akelos是一个类似于Ruby on Rails的PHP开发框架。它的主要目的是帮助程序员依据MVC模式开发基于数据库的多语言Web应用程序。它通过约定俗成代替配置来让你少写代码。此外Akelos支持URL改写,数据库移植,纯PHP支持Unicode,代码生成,内置XHTML校验器,自动locale管理,Ajax文件上传等...
php.MVC实现了模型-视图-控制器(Model-View-Controller:MVC)设计模式,并鼓励应用程序基于Model2设计。 php.MVC是模仿Struts的一个PHP实现,提供Struts支持的大部分功能。
ZNF是一个PHP5 MVC框架。该项目的目的是提供一个开源框架用于开发PHP5企业Web应用程序。它的一些思想来自著名的Java MVC Web框架Apache Struts。ZNF框架的核心是一个灵活的控制层基于一些标准技术如PHP5和XML。ZNF采用自己的控制器组件然后集成其它技术来实现模型与视图。
对于模型(model),ZNF能够与标准的数据访问技术相给合如:PEAR::DB。
对于视图(view),ZNF能够把Smarty模板引擎和XSL转换集成到框架中。
ZNF的特点包括:
- 自定义前端控制器。
- 利用XML配置来定义运行期事件处理
- 权限控制
- 输入过滤和校验
- 国际化支持
- 透明的缓存引擎
- 能够运行在一个E_STRICT环境中
- 兼容PEAR包。
Achievo ATK是一个面向对象的PHP开发框架。它让开发人员只需关注应用逻辑,而不是编写HTML代码。ATK提供了一个完整的框架,只要10行代码就能开发出一个可用的应用程序,而其它该框架将自动为生成,并完全可自己定制。ATK 常被喻为Ruby on Rails。
web.framework是一个适用于PHP5的MVC框架。它的特性:
支持action和action-chain。
支持从action-chain调用其它action或action-chain。
提供用于简单校验HTML Form的validator和客户端JavaScript validator。
支持在框架配置中配置DB。
支持模板系统(比如web.template与Smarty)。
提供一个"路由器"用于把URLs地址处理成自己喜欢的形式。
支持"令牌"(token)。
提供权限验证框架。
支持AJAX。
等等...。
WACT很有潜力,框架的基件它一应俱全,像MVC、数据库对象和模板引擎,不过仅此而已。它没有任何外挂模块,同时也缺少一些内建的功能,例如Ajax、缓存、验证模块,等等。尽管如此,WACT还是拥有最好的模板引擎,甚至可以帮助你创建自己的模板标签来扩展功能。
CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而又不失灵活性。
主要特性:
基于MVC架构
视图支持Ajax
内置校验框架
提供应用程序的基础模块和CRUD 代码自动生成功能
提供处理session,request,security的组件
灵活的视图缓存功能
面向对象
无需配置:只要安装好数据库
兼容PHP4和PHP5。
Solar是一个适用于PHP5的简单对象包与应用程序库。换句话说,Solar是一个组合类包,组件库,web应用开发框架。Solar为基于web的快速开发提了供一些简单,易于组合的基础类和组件。Solar使用的思想来自Savant模板引擎,DB_Table对象/关系管理包和Yawp最容易的开发框架。
Smutty是一个围绕Smarty模板引擎构建的MVC PHP开发框架。提供用户身份验证和session处理,Ajax/DHTML组件(form,drag和drop,link),数据访问抽象层,模型(model)校验机制,自定义转向"路由",集成单元测试等。
struts4php是一个采用MVC模式设计的PHP开发框架。它的思想主要是来自Apache Struts框架。Struts4php的使用非常类似于Struts,所以对于已经熟悉Apache Struts的开发者来说学习如何使用struts4php是非常容易的。
symfony是一个开源的PHP Web框架。基于最佳Web开发实践,已经有多个网站完全采用此框架开发,symfony的目的是加速Web应用的创建与维护。它的特点如下:
- 简单的模板功能
- 缓存管理
- 自定义URLs
- 搭建了一些基础模块
- 多语言与I18N支持
- 采用对象模型与MVC分离
- Ajax支持
- 适用于企业应用开发。