`
hududanyzd
  • 浏览: 777333 次
文章分类
社区版块
存档分类
最新评论

PHP 的 一些 MVC 框架简介

 
阅读更多

ThinkPHP
ThinkPHP(FCS)是一个开源的快速、兼容而且简单的面向对象的轻量级PHP开发框架,全称是Fast,Compatible & Simple OOP PHP Framework。FCS框架是从Java的Struts结构移植过来的中文PHP开发框架,是为了简化企业级应用开发而诞生的,使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,借鉴了国外一些不错的思想,尤其是Java框架方面,因此熟悉Java的开发人员相对比较容易上手。在借鉴国外优秀思想的同时,FCS也更多地考虑了国内的应用开发需要。PHP4兼容、完全支持UTF-8,以及PATHINFO支持等,更加有利于国内的主机环境和开发需要。FCS的宗旨是简化开发、提高效率和易于扩展。

CakePHP
CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而又不失灵活性。
主要特性:
基于MVC架构
视图支持Ajax
内置校验框架
提供应用程序的基础模块和CRUD 代码自动生成功能
提供处理session,request,security的组件
灵活的视图缓存功能
面向对象
无需配置:只要安装好数据库
兼容PHP4和PHP5。

SolarPHP Solar是一个适用于PHP5的简单对象包与应用程序库。换句话说,Solar是一个组合类包,组件库,web应用开发框架。Solar为基于web的快速开发提了供一些简单,易于组合的基础类和组件。Solar使用的思想来自Savant模板引擎,DB_Table对象/关系管理包和Yawp最容易的开发框架。
Seagull Seagull是个纯OOP(面向对象程序设计)框架,可用于创建web,command line(命令行)和GUI的应用程序.它采用了BSD授权,让PHP开发者可以更容易地整合并管理代码源,更快速地建立复杂的应用程序。目前Seagull设计中已集成了许多比较受欢迎的PHP应用程序,例如:各式各样的模板引擎,测试工具,管理代码库工具等.如果您是个初学者,您可以将Seagull提供的许多样本应用程序自定义或扩展成适合您所需的.如果您是中高级开发者,您可以充分利用seagull中的best practices(最优方案),标准和模块的代码核心在有规定的时间内建立您的应用程序.
Seagul是面向对象程序设计的强调模块性的应用程序.框架的组成:

基本框架:框架本身由一组基本的类组成,这些类的组织依照MVC设计模式,主要处理权限,验证,SESSION,I/O和数据库抽象层.熟悉Struts和JSP配置的开发者会认可这种方法.
模块:每个功能性的推广范围以模块的形式出现,你的业务需求可能与框架中已存在的模块相匹配.如果有哪些模块不存在,请要求我们,我们的开发团队会尽力完善.如果由你的开发者构建并贡献给seagull,这当然是更好的.
库:大多数特殊任务的功能性来源于库,通常都来源于PEAR,当需要升级/改进时,它可以独立地被更新.
实体/实体管理:应用程序中的每个对象(Member,Group,Property,Document,Article等)都被描述成一个实体,开发者拥有快速原型实体的工具,因此skeleton(主干)类可被自动地创建和更新.

PHP on Trax Php On Trax是一个采用MVC架构,适用于PHP5与PHP4环境,基于Ruby on Rails框架思想的web开发与持久层框架。它包含了创建依赖于数据库的Web系统所需要做的所有事件,是Ruby on Rails框架的一个真正PHP克隆。
Prado 点击次数:993
允许内容和表现方式分离。组件,尤其是页面,将内容(逻辑)和表现方式分别保存在不同的文件中。

InterJinn
InterJinnTM是一个开源多层Web框架。它具有以下特点:
session管理
profile管理
运行时组件绑定
运行时属性绑定
提供缓存机制
带有校验功能的Form引擎
可定制的模板系统
国际化支持
CodeIgniter 点击次数:1714
CodeIgniter是一个非常小,但很有前景的PHP开发框架。它提供了一个丰富的代码库,其中封装了开发web应用系统常用到的一些功能。并为访问代码库提供简单的接口与逻辑结构。CodeIgniter主要目的尽量精减代码量。

symfony
symfony是一个开源的PHP Web框架。基于最佳Web开发实践,已经有多个网站完全采用此框架开发,symfony的目的是加速Web应用的创建与维护。它的特点如下:
简单的模板功能
缓存管理
自定义URLs
搭建了一些基础模块
多语言与I18N支持
采用对象模型与MVC分离
Ajax支持
适用于企业应用开发。

Binarycloud
Binarycloud是一个PHP Web开发框架。它提供一组在开发Web应用程序时经常用到的服务,并通过提供一个模块化的应用程序架构来改善复用能力。这个框架的核心是表现层系统(Node Tree),它主张从表现层逻辑中严格分离出业务逻辑。该Node Tree采用一种独特的,对象可自由分层的设计方式。Smarty模板引擎是默认的表现层并紧密地结合到binarycloud框架中。
Akelos Framework
Akelos是一个类似于Ruby on Rails的PHP开发框架。它的主要目的是帮助程序员依据MVC模式开发基于数据库的多语言Web应用程序。它通过约定俗成代替配置来让你少写代码。此外Akelos支持URL改写,数据库移植,纯PHP支持Unicode,代码生成,内置XHTML校验器,自动locale管理,Ajax文件上传等...
php.MVC
php.MVC实现了模型-视图-控制器(Model-View-Controller:MVC)设计模式,并鼓励应用程序基于Model2设计。 php.MVC是模仿Struts的一个PHP实现,提供Struts支持的大部分功能。
Achevo ATK
Achievo ATK是一个面向对象的PHP开发框架。它让开发人员只需关注应用逻辑,而不是编写HTML代码。ATK提供了一个完整的框架,只要10行代码就能开发出一个可用的应用程序,而其它该框架将自动为生成,并完全可自己定制。ATK 常被喻为Ruby on Rails
FastFrame
FastFrame是一个采用MVC架构,侧重面向对象的Web应用开发框架。它的目标是让开发人员快速构建简洁,安全,强壮的Web应用系统。FastFrame提供了一些一个Web应用系统都需要的功能:身份验证,Action处理,错误处理,多语言支持,form创建,提供各类型的Menu系统等等。

Luta framework
Luta framework是一个PHP5开发框架基于Zend Framework采用类似于Ruby on Rails的架构。

PhpGrid
PhpGrid是为php开发人员提供强大,开源的CRUD(添加,显示,删除,修改)框架. 适合快速开发演示程序(Demo),CRM系统,OA系统,ERP系统,电子政务系统以及网站后台管理.
PhpGrid是以流行的xajax框架为基础.速度快,稳定性高.完全具有ajax,跨浏览器平台特性. 主要功能特点如下:
简单,不需要花较多的时间去学习
自动生成CRUD(添加,显示,删除,修改)页面
Ajax技术,跨浏览器平台(Fire,IE测试通过)
实时编辑表格中的数据
快速导入数据
快速导出数据
自动生成添加和修改表单,支持checkbox,select,memo等表单项
内置表单验证功能
内置文件上传,方便使用
兼容于各PHP模板
容易扩展,当框架无法满足您复杂的业务需求时,您可以轻松的扩展该框架

PHP Web开发框架—-FocusPHP
FocusPHP最早可以追溯2006年12月份,当时我还在与非网做PHP开发,我建议采用开源的OOP架构来重新架构网站,但是当时CakePHP在国内影响还不是很大,中文文档不太齐全,加之开发组的成员对OOP及MVC还不是太熟悉,大家都觉得开源架构太复杂、太麻烦,不太适合当时的公司的门户网站开发,想法就此终止。然而当时我很清楚基于OOP的方式采用MVC来构建WEB应用是大势所趋的,当时基于Ruby的Rails MVC WEB开发框架已经开始火起来,于是就萌生了做一个自己的WEB开发架构的念头,于是我买了一本《WEB开发敏捷之道—应用Rails进行敏捷WEB开发》,利用下班业余时间在家里研究适合PHP的敏捷WEB架构,经过大约一周的业余研究一个简单的MVC WEB开发框架雏形完成了,因为在职公司的域名叫做eefocus.com,所以我将他命名FocusPHP。到2008年初公司技术决策终于决定使用基于OOP的MVC架构重构网站了,FocusPHP才正式应用到网站上,同上次一样,我花了一些时间将架构再次修改,使之满足公司的开发要求。遗憾的是,由于当时公司的技术开发要求,我去掉了很多的想法,就保留下了一些基本的能满足开发的元素,相比那些开源的WEB开发框架,功能方面来说肯定是不可比拟的,但是FocusPHP提供的丰富的标准库以及简易的接口和逻辑结构,能使开发者更快速的进行项目开发,相比之下,更简易更快捷,可扩展性强,你可以随意发挥。我在离开与非网之后,也用过很多开源的架构,比如thinkphp、ci框架,为了满足项目和公司的技术需求,我还对这些框架架构进行过二次开发,进行相应的简化和修改。2009年初我在做一个WEBGAME项目的时候,我发现开源的WEB架构要改造起来困难重重,于是我又想起了自己原来做过的一个架构,于是我又从同事手里拿到了FocusPHP的源代码,经过修改后做了一个新的架构。至此FocusPHP这个概念对于我的来说已经结束了,我本想把这部分代码删掉,但是后来想想还是留着做个纪念吧,于是就将源代码传到Google code…项目地址:FocusPHP

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics