HerosPHP 是一个免费开源的,快速、优雅的面向对象的 轻量级PHP MVC开发框架。使用她你能够快速的搭建简洁,易于扩展的web应用,初始版本始于2013年。2016年提供了完整的开发文档。目前最新版本是v3.0.1。
Herosphp有 如下特点:
1. 部署简单,高开发效率并且高性能
2. 框架简单实用,傻瓜式开发,学习门槛低
3. 在保持约定大于配置的原则下又保持着很好的扩展性
4. 代码风格简洁漂亮,程序精简高效,但是注释详细,适合新手学习.
功能:
完整的MVC支持
强大的数据库操作功能
完善的AOP支持,可以在应用和模块分别设置监听器,轻松完成切面编程
提供的大量的字符串工具,网络工具,二维码工具,文件处理,图片上传,缓存工具,同步锁等,可以很方便的实现生成分布式唯一ID, RSA加密, 二维码等。
内置代码生成工具,可以比较方便的生成模型(M),服务(S)和控制器(C),一条命名就可以完成创建数据库到生成控制器代码。
composer 和 psr-4标准支持
.....
本次更新内容:
修复了 MysqlQueryBuilder::addWhere 方法的bug, 当第三个参数不传入时查询报错。
修复 JsonResult::output 输出日志乱码的bug。
更新了 StringUtils类的生成分布式唯一ID的算法,把32位改成生成18位的16进制数
重要: 给监听器(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.
}
}