Herosphp 3.0.1 发布,轻量级php开源框架

HerosPHP 是一个免费开源的,快速、优雅的面向对象的 轻量级PHP MVC开发框架。使用她你能够快速的搭建简洁,易于扩展的web应用,初始版本始于2013年。2016年提供了完整的开发文档。目前最新版本是v3.0.1。

Herosphp有 如下特点:

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

    2. 框架简单实用,傻瓜式开发,学习门槛低

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

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

功能:

  • 完整的MVC支持

  • 强大的数据库操作功能

  • 完善的AOP支持,可以在应用和模块分别设置监听器,轻松完成切面编程

  • 提供的大量的字符串工具,网络工具,二维码工具,文件处理,图片上传,缓存工具,同步锁等,可以很方便的实现生成分布式唯一ID, RSA加密, 二维码等。

  • 内置代码生成工具,可以比较方便的生成模型(M),服务(S)和控制器(C),一条命名就可以完成创建数据库到生成控制器代码。

  • composer 和 psr-4标准支持

  • .....

本次更新内容:

  1. 修复了 MysqlQueryBuilder::addWhere 方法的bug, 当第三个参数不传入时查询报错。

  2. 修复 JsonResult::output 输出日志乱码的bug。

  3. 更新了 StringUtils类的生成分布式唯一ID的算法,把32位改成生成18位的16进制数

  4. 重要: 给监听器(Listener)新增了skinUrl()接口,用来过滤不需要监听的请求 URI

使用方法:在 ModuleListener(模块监听器) 或者 DefaultWebappListener(全局监听器)中的 beforeRequestInit() 调用 skipUrl方法就行了。url地址支持通配符,使用 “**”


class DefaultWebappListener extends WebApplicationListenerMatcher implements IWebAplicationListener {

     /**
      * 请求初始化之前
      * @return mixed
      */
     public function beforeRequestInit()
     {
         //设置跳过监听的uri, 比如登录页面,注册页面等
         $this->skipUrl("/user/**"); //跳过用户模块下所有请求
         $this->skipUrl("/admin/login/**"); //跳过登录控制器所有请求
         $this->skipUrl("/admin/scode/index"); //跳过验证码请求

         // TODO: Implement beforeRequestInit() method.
     }

     /**
      * action 方法调用之前
      * @return mixed
      */
     public function beforeActionInvoke(HttpRequest $request)
     {
        echo "捕获请求";
     }

     /**
      * 响应发送之前
      * @return mixed
      */
     public function beforeSendResponse(HttpRequest $request, $actionInstance)
     {
         $webApp = WebApplication::getInstance();
         //注册当前app的配置信息
         $actionInstance->assign('appConfigs', $webApp->getConfigs());
         $actionInstance->assign('params', $webApp->getHttpRequest()->getParameters());
     }

     /**
      * 响应发送之后
      * @return mixed
      */
     public function afterSendResponse($actionInstance)
     {
         // TODO: Implement afterSendResponse() method.
     }

}


在线演示

http://herosphp.r9it.com





猜你喜欢

转载自blog.csdn.net/yangjian8801/article/details/78246412