PHP开源 开发框架

2014-10-25 21:43| 发布者: CODETC| 查看: 5057| 评论: 0

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。

CodeIgniter

CodeIgniter是一个非常小,但很有前景的PHP开发框架。它提供了一个丰富的代码库,其中封装了开发web应用系统常用到的一些功能。并为访问代码库提供简单的接口与逻辑结构。CodeIgniter主要目的尽量精减代码量。

PHPLIB

PHPLIB是一个面向对象的PHP开发工具包。它提供很多php的程序库,这些程序库包括了大量的类、方法、变量和方法,能够处理复杂的web资源和提供强大的功能,大大简化了程序设计和提高了代码的可重用性。特别在数据库访问、数据库驱动以及访问认证和模板等方面具有很高的价值和实用性。PHPLIB包含的主要函数库有:DB_Sql、Page Management、CT_Sql、CT_Split_Sql、CT_Shm、CT_Dbm、CT_Ldap、Session、Auth、Perm、User等能够帮助提高数据库Web应用系统的开发速度。

symfony

symfony是一个开源的PHP Web框架。基于最佳Web开发实践,已经有多个网站完全采用此框架开发,symfony的目的是加速Web应用的创建与维护。它的特点如下:

  • 简单的模板功能
  • 缓存管理
  • 自定义URLs
  • 搭建了一些基础模块
  • 多语言与I18N支持
  • 采用对象模型与MVC分离
  • Ajax支持
  • 适用于企业应用开发。

php.MVC

php.MVC实现了模型-视图-控制器(Model-View-Controller:MVC)设计模式,并鼓励应用程序基于Model2设计。 php.MVC是模仿Struts的一个PHP实现,提供Struts支持的大部分功能。

PhpGrid

PhpGrid 是用于快速开发网站后台,管理系统(ERP,OA,CRM等)的PHP开发类库(工具) .主要功能如下:

  • 简单,不需要花较多的时间去学习
  • 可以不需要编写一行代码,便可自动生成CRUD(添加,显示,删除,修改)页面
  • Ajax技术,可实时编辑表格中的数据
  • 快速导入,导出数据
  • 自动生成表单,并可以自定义表单
  • 内置表单验证功能
  • 代码模块化设计
  • 很容易的集成Fckeditor
  • 容易扩展,当框架无法满足您复杂的业务需求时,您可以轻松的扩展该框架

FleaPHP

FleaPHP为开发者轻松、快捷的创建应用程序提供帮助。FleaPHP框架简单、清晰,容易理解和学习,并且有完全中文化的文档和丰富的示例程序降低学习成本。使用 FleaPHP 框架开发的应用程序能够自动适应各种运行环境,并兼容PHP4 和PHP5。

FleaPHP 的主要特征

除了 MVC 模式实现、Dispatcher 调度器、模板引擎等常见功能外,FleaPHP 框架还拥有许多独一无二的特点:

简单、容易理解的 MVC 模型不像其他流行的框架,FleaPHP 提供的 MVC 模型注重简单和容易理解。例如 FleaPHP 不要求开发者从特定的类派生自己的控制器类和业务模型类。
易于使用、高度自动化的数据库 CRUD 操作FleaPHP 采用 TableDataGateway 设计模式来封装数据表操作。FLEA_Db_TableDataGateway 类不但提供了容易使用的 CRUD 操作,还实现了数据表之间的关联操作。同时,FleaPHP 没有像其他框架那样将每一行记录都封装为一个对象(毫无疑问这会产生明显的性能问题),而是利用 PHP 强大的数组来保存和传递数据。
尽可能少的配置虽然像数据库联接信息等配置仍然是不可少的,但 FleaPHP 应用程序通常只需要设置几个选项,即可在各种环境中运行良好。而且 FleaPHP 的所有设置都采用 PHP 数组来保存,不但容易理解,而且省掉了解析、缓存等不必要的过程,提高了性能。
高度可配置能力虽然 FleaPHP 自动化程度很高,但 FleaPHP 同时也拥有高度的可配置能力。通过覆盖 FleaPHP 默认的选项,开发者可以获得最大程度的灵活性。让开发者可以在适应现有代码、保持开发习惯等各方面获得好处。
自动化的数据验证和转义即便不做任何处理,程序将数据通过 FLEA_Db_TableDataGateway 提交到数据库前。FleaPHP 也会自动对数据进行验证,并转义特殊字符,最大程度消除 SQL 注入攻击。
丰富的助手对象和组件FleaPHP 附带了一些非常实用的助手对象,从生成图像验证码、处理文件上传到通用数据验证等。这些助手对象大多是一些独立的对象,完全不依赖于 FleaPHP 框架本身。因此开发者不但可以在 FleaPHP 之外使用这些助手对象,也可以方便的加入自己的助手对象。 组件是比助手对象更为复杂的可重用单元。这些组件包括基于角色的用户管理、脚手架等。利用这些组件,开发者可以很快的完成一些常见任务,并能在这些组件基础上扩展出功能更复杂的组件。
与 Smarty 集成只需要修改几个选项,FleaPHP 应用程序就可以和流行的 Smarty 模版引擎集成。
100% FREE当然,最后一点就是FleaPHP是一个完全开放源代码和文档(不是那种滑稽的删除了所有注释仅能运行的代码)、不限制使用的项目。你可以自由的学习、使用 FleaPHP,也可以在自己的应用程序中使用 FleaPHP。不管你的应用程序是否是商业应用,都不需要公开你的源代码,从最大程度上保护了你的知识产权。不过如果你愿意将代码反馈到社区,那么大家都会感谢你。

Prado

PRADO是一个基于组件和事件驱动的PHP5开发框架。它以组件,事件,属性来代替传统web开发中的程序,URLs和查询参数。一个PRADO组件是由一个说明文件(XML),一个HTML模板和一个PHP类组件。一个个PRADO组件组合在一起形成大型组件或完整的PRADO页面。PRADO具有如下特点:

复用性 – 符合PRADO组件标准的代码是高度可重用的。
易于使用 – 使用PRADO组件非常简单,通常只需要配置它们的属性,编写相关的事件处理函数。
健壮性 – PRADO让开发者不再被那些令人厌烦的有很多错误的的代码所困扰。它的代码都是有对象,方法和属性组成的;而不是Url地址和各种query参数。PHP5最新的Exception处理机制也被引入进来,让开发人员能够精确定位到错误代码的所在行数。
高效 – PRADO开发的Web应用运行很快。PRADO实现了一种缓存机制,使用其开发的应用的运行效率能够和那些通常使用的模版引擎开发的应用的运行效率相媲美。
团队开发 – PRADO允许内容和表现方式分离。组件,尤其是页面,将内容(逻辑)和表现方式分别保存在不同的文件中。

Achievo ATK

Achievo ATK是一个面向对象的PHP开发框架。它让开发人员只需关注应用逻辑,而不是编写HTML代码。ATK提供了一个完整的框架,只要10行代码就能开发出一个可用的应用程序,而其它该框架将自动为生成,并完全可自己定制。ATK 常被喻为Ruby on Rails。

PHP on Trax

Php On Trax是一个采用MVC架构,适用于PHP5与PHP4环境,基于Ruby on Rails框架思想的web开发与持久层框架。它包含了创建依赖于数据库的Web系统所需要做的所有事件,是Ruby on Rails框架的一个真正PHP克隆。

Qcodo

Qcodo是一个适用于敏捷开发基于PHP5采用MVC架构与CRUD代码生成功能的框架。完全面向对象,采用事件驱动处理方式。完全分离代码与HTML页面。QForms与QControl 包提供底层AJAX支持。

Smutty

Smutty是一个围绕Smarty模板引擎构建的MVC PHP开发框架。提供用户身份验证和session处理,Ajax/DHTML组件(form,drag和drop,link),数据访问抽象层,模型(model)校验机制,自定义转向”路由”,集成单元测试等。

Akelos Framework

Akelos是一个类似于Ruby on Rails的PHP开发框架。它的主要目的是帮助程序员依据MVC模式开发基于数据库的多语言Web应用程序。它通过约定俗成代替配置来让你少写代码。此外Akelos支持URL改写,数据库移植,纯PHP支持Unicode,代码生成,内置XHTML校验器,自动locale管理,Ajax文件上传等…

web.framework

web.framework是一个适用于PHP5的MVC框架。它的特性:
  • 支持action和action-chain。
  • 支持从action-chain调用其它action或action-chain。
  • 提供用于简单校验HTML Form的validator和客户端JavaScript validator。
  • 支持在框架配置中配置DB。
  • 支持模板系统(比如web.template与Smarty)。
  • 提供一个”路由器”用于把URLs地址处理成自己喜欢的形式。
  • 支持”令牌”(token)。
  • 提供权限验证框架。
  • 支持AJAX。

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(主干)类可被自动地创建和更新.

LIMBAS

LIMBAS是一个基于的web的企业软件工厂。它能够帮助你快速开发其它应用程序但不需要编程。只需利用它提供的表格和表单和共其它模块如工作流引擎,用户管理,报表编辑器,文档管理和SOAP接口等就能搭建一个完整的Web应用程序

FastFrame

FastFrame是一个采用MVC架构,侧重面向对象的Web应用开发框架。它的目标是让开发人员快速构建简洁,安全,强壮的Web应用系统。FastFrame提供了一些一个Web应用系统都需要的功能:身份验证,Action处理,错误处理,多语言支持,form创建,提供各类型的Menu系统等等。

Studs

Studs是把Jakarta Struts MVC框架结构完整地移植到PHP中的一个Web开发框架。  其包括:一个核心包(Horizon:一个面向对象的环境与API)。一个Servlet容器(Stratus:一个Http Servlet容器它包含两个核心功能web.xml解析与doService()方法调用)。一个服务页面引擎(Phase:支持规则JSP语法,EL表达式,提供一个类似于JSTL的标签库用于数据操作与输出)。整个类似于J2EE Web容器环境。


文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-17-1.html
1234下一页

最新评论

 作为游客发表评论,请输入您的昵称

返回顶部