PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP开源 >> PHP开源框架 >> 

什么是FleaPHP

什么是FleaPHP

来源:phperz.com  作者:phperz.com  发布时间:2010-03-11
什么是FleaPHP FleaPHP 的全名是 Fast-Lightweight-Extensible-

什么是FleaPHP
  FleaPHP 的全名是 Fast-Lightweight-Extensible-Automatic PHP web application framework。使用 FleaPHP 框架开发的应用程序能够自动适应各种运行环境,并兼容 PHP4 和 PHP5。FleaPHP 框架简单、清晰,容易理解和学习,并且有完全中文化的文档和丰富的示例程序降低学习成本,为开发者轻松、快捷的创建应用程序提供帮助。
  最新版本:FleaPHP 1.0.70.1078
  开发公司:起源科技
  核心成员:Dualface
  官方网站:http://www.fleaphp.org/
        下载地址:http://qeephp.com/projects/fleaphp

FleaPHP 的设计目标
  FleaPHP 致力于减少开发者创建 Web 应用程序的工作量,并降低开发难度和强度,提高开发效率。
  ①快速、轻量级,避免臃肿的结构带来的性能损失
  由于 PHP 是解释执行,如果花费太多资源在框架本身,显然不适合的。就像一台计算机如果把大量的资源都花在操作系统上了,而应用程序能够得到的资源却少得可怜,显然是无法让用户接受的。
  ②可扩展、开放性的架构,允许开发者引入自己的组件或者任何成熟的工具库
  框架虽然提供了许多组件,但不可能完全满足用户的需求。因此,框架本身应该是松散耦合、可扩展的。开发者可以很简单的为框架加入新的组件。同时,框架的逐步发展也不应该影响框架的核心基础。最后,开放性的架构让开发者在框架中引入其他组件或者工具库时不会遇到任何困难。例如开发者可能会使用 Smarty 来做模板引擎,以及 PEAR 中的一些库来简化开发工作。
  ③尽可能少的契约,但同时提供足够的自动化能力,减轻开发强度
  虽然契约式编程,可以让框架本身的设计变得更简单,开发者也能从框架获得更多的帮助。但太过严格的规则和约定会明显降低框架的适应性,为此需要对两者进行适当的平衡。FleaPHP设计时采用尽可能少的契约,通过更复杂的实现来实现一些自动化能力。或者以最少量的配置信息来帮助框架为开发者提供服务。
  ④高度灵活的解决方案,提供开发应用程序的大多数基本组件
  虽然现在已经有许许多多出色的工具库可供选择。但对于一些平常的需求来说,这些工具库可能具有过度杀伤能力(也就是说工具库本身提供了远远超过需求的功能)。由此带来了学习难度增大、性能降低等问题。为此,FleaPHP 框架提供了一组轻量级的基本组件。这些组件被设计为拥有基本的功能和可扩展。 例如 FleaPHP 附带的基于角色的权限验证组件虽然不如 phpGACL 这样的库功能强大,但却能够解决平常开发都会遇到的典型权限验证问题,并允许开发者自行扩展这个组件。

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。不管你的应用程序是否是商业应用,都不需要公开你的源代码,从最大程度上保护了你的知识产权。不过如果你愿意将代码反馈到社区,那么大家都会感谢你。


延伸阅读:
敏捷 PHP 框架: CodeIgniter 1.6.2 发布
国外主流PHP框架比较
AJAX框架汇总
什么是CakePHP
PHP框架 DooPHP 1.2 发布
PHP框架论述
Ajax框架:qooxdoo1.0发布
SpeedPHP框架介绍
什么是QeePHP
什么是ThinkPHP
什么是MooPHP
国外十大最流行PHP框架排名
国内主流PHP框架ThinkHP和FleaPHP比较
Tags: FleaPHP   框架   PHP框架   QeePHP   php  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号