📺 版本记录


>i 本文档的最新修订日期是: > **2021-07-23** # 5.1.0 `新增/Add` * 报错堆栈指示; * Session :: Csrf() 新增返回值; * 框架报错时,将在报错模板{$Code}中返回错误码; * 常量IntRuntime; * 使用PDO作为底层驱动,用以连接数据库的Db模块,并支持事务操作; * Wrong模块新增配置项CodeReplace,用以替换错误代码; * 框架常量FrameworkVersion,用以输出框架版本号; * 错误页模板变量FrameworkVersion,用以输出框架版本号; * 用以校验数据的Filter模块; * 用以获得Header中指定字段的值的Tool :: GetHeader() 方法。 `调整/Change` * Wrong :: Report() 已调整参数为快捷传参模式; * Mysql :: Sum() 中的sum参数,已调整为Array类型; * Mysql模块将计划废弃,将在6.x版本中删除,且不再增添新功能。请使用 Db 模块代替; * Receive模块将计划废弃,将在6.x版本中删除,且不再增添新功能。请使用 Filter 模块代替; * Page模块使用Db模块作为依赖; * 优化整体代码; * 删除M.15.0错误码; * 更新了样例文件; * 删除了核心配置项XPoweredBy。 `修复/Fix` * Wrong :: Report() 中code参数影响HTTP响应码的问题; * Wrong模块无法写入日志; * Vcode :: Base() 中的参数无效的问题; * Mysql :: Sum() 中的sum参数类型为String时,出现错误; * Wrong :: Report() 展示报错模板页错误的问题; * Mysql模块中潜在的安全问题。 # 5.0.0 >d 此版本改动较大且不与低版本兼容,请先阅读入门指南中的 `升级` 一节,再通过替换全部文件的方式升级。 * 调整了报错页模板文件的名称和位置; * 修复Session模块中影响图像生成的代码错误; * 调整Vcode模块Base方法,使其返回验证码文本; * 修复了Wrong模块对AJAX请求识别错误的问题; * 新增用以缓存数据的Data模块; * 修复Setting模块中Set方法出错的问题; * 修复Page模块返回统计信息不准确问题; * 移除模板文件起始的exit;#标记,提高代码可移植性; * 新增Log模块中输出累积日志的Get()方法; * 新增Log模块中输出累积日志的Output()方法; * 移除Log模块Write方法; * 新增存放库文件的目录/Lib,提升开发效率和安全性; * 调整模块语法为标准的静态方法调用方式Class :: function( ); * 使用autoload代替原模块引入逻辑; * 精简代码; * 新增常量URI; * 调整入口文件逻辑,非调试模式下也将进行自动编译; * 取消Cache模块中,编译时必须处于调试模式的限制; * 新增Cache模块中有关缓存有效期的ExpTime配置项; * 变更了Cache模块中的Compile方法内的force(强制编译)参数的定义; * 修复Cache模块的其他错误; * 原Tool模块中的Token方法,迁移至新增的Session模块中; * Session支持Redis及memcache存储; * Session支持自定义部分配置; * 支持以命令行模式运行,并修复了此模式下框架报错的问题; * 修复了Setting模块的潜在错误; * 新增Data模块; * 移除Receive模块对Referer的校验; * 新增了Wrong模块对报错样式的配置项; * 新增了独立的《升级指南》; * 调整了文档排序; * 调整了报错页样式文件的文件名; * 不再区分基础模块与可选模块; * 原Receive模块中的FromCheck方法,迁移至新增的Session模块中,并更名为Csrf方法; * 新增了Session模块Csrf方法中,对指定的Token进行校验的功能; * 错误码的调整。 # 4.0.2 * 优化了Receive模块,并修正了Header方法; * 修复了Cache模块中ReBuild方法报错C.0.5的问题; * 修复了Mysql模块中读写分离相关的潜在错误,并优化精简了代码; * 修复了Mysql模块中多字段排序时报错的问题; * 修复了Img、Vcode模块中在PHP7.4中,有关16进制转换报错的问题; * 调整了默认页样式; * 原Wrong模块中的ErrorCode命名规范为StatusCode; * 报错页面中,非Ajax请求则响应友好网页,否则响应JSON; * 取消了增量升级包,升级直接覆盖/Core即可。 # 4.0.1 * 修复了Mysql模块Other()方法报错; * 清空了内置的安全码; * 修复了Vcode模块报错,并支持自定义噪点颜色。 # 4.0.0 >d 此版本改动较大且不与低版本兼容,请先阅读入门指南中的 `升级` 一节,再通过替换全部文件的方式升级。 * 文档全部调整为在线文档 * 新增了基于URL参数的路由解析; * 新增“快捷传参”模式,除Wrong模块的Report方法外,所有模块方法均支持; * 调整了默认页的样式; * 改进了命名规则,修正了部分变量名和函数名; * 调整Common.php中的配置项为数组模式; * 修复了部分模块中fopen的句柄没有被关闭的错误; * 重构Mysql模块,优化和修复了诸多问题; * 调整了报错方式,全部以JSON形式报错; * 调整报错内容为错误码报错,并增加出错文件和行号; * 调整了路由规则; * 重构Cache模块,新增失效缓存清除机制; * 修改了部分报错提示的文字内容; * 调整了模块配置目录名称为“Config”,并移动至站点根目录下; * 调整了SESSION定义调试模式的影响范围; * 解耦了调用方法不存在时的报错方法; * 调整了模块配置项的配置方式,避免变量污染; * 优化了Receive模块代码; * 修改了Dir模块部分方法的返回值; * 重构Img模块; * 新增Ip模块Clean方法中,指定黑白名单的功能; * 在Mail模块中的Jsend和Ssend方法中,删除了连接信息参数; * 在Mail模块中的Jsend方法中,新增指定超时时长的参数; * 在Ftp模块中的Up和Down方法中,删除了连接信息参数; * 在Ftp模块中的Up和Down方法中,新增指定超时时长的参数; * 在Pay模块中新增指定超时时长的配置项; * 在Send模块中的Post和Get方法中,新增指定超时时长的参数; * 在Tool模块中删除了CC和Mtime方法; * 重构了Setting模块; * 在Sms模块中新增指定超时时长和地域的配置项; * 更新了Tool模块配置项的定义; * 重构了Tool模块Html方法,增强了安全性; * 新增Mysql模块的各方法中,支持附加自定义的语句; * 新增Mysql模块的Select方法中,多条件查询; * 新增Mysql模块的SelectMore方法中,支持指定Field查询; * 新增Mysql模块的各方法中,支持desc与order绑定; * 移除Mysql模块的各方法中的like参数; * 修正了Mysql模块的各参数规范; * 模块不再单独设置版本号; * 新增Receive模块中Post和Get方法内自动URL解码功能; * 新增了Receive模块中的Header方法; * 删除了Action目录; * 对Cache模块Compile方法修改了参数; * 前端模板、前端语法更名为静态模板、模板语法; * 重构Load模块Up方法,新增对于多文件上传支持; * 改进了Load模块Up方法随机文件名的算法; * 将原Db模块的所有方法归入Mysql模块,并删除Db模块; * 新增Send模块中,支持文件上传的Posts方法; * 对Send模块中的公共参数的必传性做了调整; * 将Load模块中Up方法中,Path参数的基准目录设置为根目录。 * 增加了对各模块中又换路径参数的兼容性; * 新增Img模块中,合并图片的Merge方法; * 优化了Mail模块的Ssend方法; * 新增了核心配置文件中,始终返回200状态码的配置项; * 将核心配置文件中,SESSION自动开启的配置项调整为FALSE; * 将缓存路径由/Cache调整为/Temp/Cache; * 将/Core/Common.php移动至/Config/Common.php; * 新增日志模块Log,并删除了核心配置文件中的RequestLog配置项; * Wrong模块已支持写入日志; * Mysql模块已支持写入日志; * 修复了报错敏感信息泄露的问题; * 不再支持通过SESSION进行配置项的临时调整,替代方案由Setting模块的Change()方法提供; * 优化了Cache模块运行速度; * 新增常量Runtime; * 框架基本去除对SESSION的依赖; * 优化了IP模块的部分方法,并修正了错误; * 新增了Tool模块下生成UUID的方法。 * 调整了模块语法 # 2.2.1 * 修正了默认Hello World文件的错误(感谢@lazy); * 修正了分页模块文档的内容错误(感谢@lazy); * 官网新增示例demo用于入门学习。 # 2.2.0 * 修复了在PHP5下set_error_handler报错的问题; * 修复了记录客户端信息时HTTP_REFERER报错的问题; * 修复了Sms模块提示文件缺失的问题; * 新增了Mysql模块下的Sum()方法; * 对说明文档重新排版,更易于阅读。 # 2.1.0 * 新增对Wrong模块的报错信息进行URL编码; * 新增Wrong模块的配置文件中的JumpURL配置项; * 新增编译时检查模块文件是否存在的功能; * 新增了Tool模块中获取毫秒时间戳的MTime()方法; * 新增Mysql模块Total()中的分组统计功能; * 新增了Receive模块Post()和Get()方法中校验长度的功能; * 新增了通过SESSION定义大部分模块的配置项的功能; * 新增了开发环境下的伪静态规则; * 修复了在部分虚拟主机下set_time_limit报错的问题; * 修复Mysql模块中使用指定索引报错; * 修复伪静态规则导致Apache返回304缓存标记; * 修复了Pay模块微信支付(R)可能出现的网络环境异常问题; * 从此版本开始,提供增量更新压缩包; * 入门指南和基础模块说明的修正。 # 2.0.0 * 重要变动:编译模块解耦,并删除了编译模块配置文件中的模块类别配置项; * 基于编译模块的解耦,部分基本模块调整成为了可选模块,详情请参阅《基础模块说明》; * 原Sql模块更名为Mysql; * Page模块做了较大改动,且与原Page模块不兼容; * 新增了临时调试模式,即$_SESSION['DebugMode']; * 新增了编译模块对于模块名的容错处理; * 新增了在核心配置文件中设置时区的功能; * 新增了在核心配置文件中设置脚本超时时限的功能; * 新增了HttpError页面执行全局编译的功能; * 新增了Setting模块,用以完成各模块配置项的修改和读取; * 删除了入门指南中“权限”一节的内容; * 恢复了对原生PHP语法的支持; * 修复了压缩html时js注释未被清除的问题; * 修复了文档的内容错误; * 优化了编译模块; * 从下一个版本开始,将提供增量升级的压缩包进行覆盖升级。 # 1.3.0 * 入门指南中新增了权限等部分的内容; * 修复了在IIS10环境下,自动编译出现权限不足的问题; * 修复了Db、Page模块说明文档中的错误; * 修复了Page模块在特殊情况下逻辑错误的问题; * 新增了Core/Initial.php,用以完成初始化操作; * 新增了一个模板编译规则{? }; * 新增了Session模块下防CC攻击功能; * 新增了基于IP(IPV4)地址的访问控制功能; * 新增了对IP(IPV4)黑白名单的操作模块; * 新增了对客户端信息记录的功能; * 新增了错误页中,能够取消自动跳转的功能,并将倒计时调整为7秒; * 新增了示例页面、默认报错页面在IE6-9下的样式兼容性; * 新增了代码压缩的功能; * 新增了Apache下的伪静态规则; * 将根目录下的initial.php更名为compile.php; * 调整了IIS伪静态规则; * 调整了各文档中代码部分的样式; * 调整了Receive模块配置文件中防注入的规则; * 调整了各模块引用配置文件的路径找寻方式; * 调整了缓存编译时的引用各模块的路径找寻方式; * 调整了编译模块中读取模板文件时使用的权限; * 调整了示例Hello World页面中的内容; # 1.2.2 * 本次更新为紧急错误修复。修复了Session未能自动开启的问题; # 1.2.1 * 增加了Sql模块中,对多个条件情况下,设置条件组的功能; * 修复了Receive模块FromCheck方法中,报错内容出现歧义的问题; * 修复了潜在的Vcode模块无法正常运行的问题; * 修复了Page模块,当前页码为0的问题; * 新增了Header头中对于X-Powered-By的隐藏; * 新增了出现错误页之后,5秒自动跳转的功能; * 更新了文档,并修正了文档中的一些错误; * 新增了开启全局SESSION功能; * 原Session模块下的Token方法,现已更改至Tool模块下,且Session模块不再被编译; # 1.2.0 * 修复了Cache模块无法编译Sms模块的问题; * 增加了对Sql模块各方法中,WhereOp参数容错的功能; * 增加了Sql模块报错时,在调试模式下显示出错Sql语句的功能; * 增加了Error模块中Report方法的第三个参数OnlyMessage,即仅输出报错信息而不输出Html的功能。详情请查阅Documents目录下的BaseModule.pdf(基础模块说明); * 修复了Sql模块中方法列表内Delete方法被错写成Del的问题; * 修复了Sql模块中,WhereOp参数的解析逻辑; * 增加了Sql中的Other方法,执行自定义的SQL语句。详情请查阅Documents目录下的BaseModule.pdf(基础模块说明); * 将Error模块中原FrameworkError模块调整为Wrong; * 更新了文档,并修正了文档中的一些错误; # 1.1.1 * 修复了引入多文件时,当多文件中存在相同模块导致报错“类已经存在”的潜在Bug; * 取消了先更新缓存文件对应的模板文件,再更新全域文件的流程,改为直接更新全域文件; * 修复了当系统时间不正确时,导致缓存机制失效的问题; * 在Core/Common.php中加入了ob_start(),开启缓冲区控制; * 修复了Vcode模块在Mac机器上无法工作的问题; * 增加了Http4XX、5XX报错的友好界面文件;