HerosPHP - PHP开发框架


Apache
跨平台
PHP

软件简介

HerosPHP是一个轻量级PHP web
程序开发框架。作者开发这个框架的初衷是想作为一个学习型的框架给那些想深入了解框架并想自己开发框架的phper借鉴用的,期初是为了面向中小型网站的
开发以提高开发效率和运行效率,因为市场目前开源的php框架轻量级的不多,大部分偏重量级,而herosphp后期的开发更多为了解决这个问题了。她有 如下特点:

1. 部署简单,高开发效率并且高性能

2. 框架的原理简单易懂,容易学习

3. 在保持约定大于配置的原则下又保持着很好的扩展性

4. 代码风格简洁漂亮,程序精简高效,但是注释详细,适合新手学习.

在作者学习java的Web程序开发之后立即将java的一些开发模式和设计思想引入了
herosphp框架,对框架进行了一次内核的重构,将框架升级到了2.0,herosphp2.0版本之后开始支持多应用和集群数据的读写分离,在保持
她轻量级的优良特性之外支持大型网站的架构。引入Beans的开发模式。

herosphp的特性

  1. 部署简单,高开发效率并且高性能
  2. 框架的原理简单易懂,容易学习
  3. 在保持约定大于配置的原则下又保持着很好的扩展性
  4. 代码风格简洁漂亮,程序精简高效,但是注释详细,适合新手学习.

版本更新记录

version 3.0.1

  1. 修复了 MysqlQueryBuilder::addWhere 方法的bug, 当第三个参数不传入时查询报错。
  2. 修复 JsonResult::output 输出日志乱码的bug。
  3. 更新了 StringUtils类的生成分布式唯一ID的算法,把32位改成生成18位的16进制数
  4. 重要: 给监听器(Listener)新增了skinUrl()接口,用来过滤不需要监听的请求 URI

version 3.0.0

  1. 优化组织结构目录,将框架代码和应用代码完全隔离,更好的支持多应用开发,更好的保护框架的安全性
  2. 支持配置多份配置文档,可以同时配置开发环境(dev), 测试环境(test), 生产环境(prod), 大大减少项目上线工作量,可以很方便的使用git的hooks实现自动部署。
  3. 优化数据模型接口,统一使用数组作为查询条件,兼容mongoDB和elasticSearch查询语法;新增了MongoModel(mongoDB数据模型)
  4. 新增日志类(Log),捕获异常的时候如果是非调试模式会自动记录日志
  5. 集成RSA加密工具类实现,新增了签名类,方便调用远程API
  6. 实现了同步锁功能,提供 FileSynLock(文件锁) 和 SemSynLock(信号量锁) 2种实现
  7. 新增了一些工具类 (ModelTransformUtils等)
  8. 修复了一些已知的bug

version 2.0.0 (重构)

  1. 新增了WebApplication 层来控制整个web请求的生命周期,控制器中的每个功能方法都需要传入HttpRequest对象
  2. 更新了模板引擎,新增了局部和全局css引入的标签
  3. 更改了php文件的加载,所有的php文件都使用Loader加载器来加载,除了核心框架类使用自动加载,其他的类全部是Loader来按需加载,以减少全部类的自动加载的开销。
  4. 在根目录下新增了client.php 和 client 目录, 方便执行php的客户端程序。 使用方法详情见操作手册
  5. 新增Beans对象管理工具,可以很方便的配置和管理服务。
  6. 修改了ImageThumb 类,新增了图片裁剪方法。
  7. 重构了缓存模块,新增了缓存的分类,避免了当缓存文件太多的对文件系统inode节点限制,也可以大大提高文件缓存的读写效率。
  8. 修改了数据操作模块,新增了对数据库集群的支持,只需要在herosp.const.php中配置将 DB_ACCESS的值改成B_ACCESS_CLUSTERS
  9. 在utils中新增了邮件发送服务类 Smtp.class.php
  10. 重写了session, 新增了memcache介质存储

version 1.0.0

实现了框架的基本功能

  1. 项目组织结构
  2. URL解析
  3. 数据DB层的操作
  4. MVC设计模式, 自己实现的模板引擎
  5. 基本工具类,如果文件上传,图片裁剪,生成缩略图,文件处理等