Releases: jasonweicn/miniframework
Releases · jasonweicn/miniframework
Version 2.11.1 released.
版本变化
- 新增 Mini\Db\Mysql 类的 prepareQuery() 方法,并改进 query() 方法,支持预处理方式查询。
- 改进 Mini\Base\Session 类,支持自动开启会话。
- 改进 Mini\Base\Session 类的 id() 方法,当会话已经处于开启状态时,将不再允许设置会话id。
- 改进数据库 debug() 方法,完善预处理绑定数据的显示。
- 修复 Mini\Db\Mysql 类的 prepareUpdate() 方法未记录 SQL 语句的 Bug。
- 改写部分文件的代码,更符合编码规范。
Version 2.11.0 released.
版本变化
- 新增 Mini\Security\Encryption 类,用于处理数据的加密和解密。
- 新增 Mini\Db\Query 类,承接 Mini\Base\Model 用于构造数据库查询,可单独实例化使用。(当前版本做了兼容处理,开发者此前编写的 Model 继承 Mini\Base\Model 仍可正常工作。)
- 新增 Mini\Base\App 类的 loadDb() 和 regDb() 两个静态方法,用于加载和注册数据库对象。
- 新增两个数据库链式操作方法,分别为 selectRow() 和 selectAll() 方法,等价于 select('row') 或 select('all') 查询。
- 升级 Mini\Base\Model 类,支持 ORM 数据模型特性,允许将对象与数据表进行映射和操作。(参见文档:https://www.miniframework.com/docv2/guide/shu-ju-mo-xing.html)
- 新增 checkInject() 全局函数,检测传入的字符串是否含有引起 SQL 注入的字符。
- 调整 Mini\Base\Params::checkInject() 方法,直接调用更优化的 checkInject() 全局函数。
- 改进 Mini\Base\Params 类的 getStr() 方法兼容性,避免 NOTICE 级别报错。
- 改进数据库自动连接机制,框架会自动加载连接配置文件中名为 default 的数据库配置。
- 改进 Mini\Db\Mysql 类的 prepareInsert() 方法,改用 bindValue 绑定数据。(在传入的数据为空数组时由 return false 改为抛出异常,请注意检查代码兼容性。)
- 改进 Mini\Db\Mysql 类的 prepareInsertAll() 方法,对异常的提示信息进行完善。
- 改进 Mini\Db\Db_Abstract 类的 _debugSql() 方法,支持显示用于预处理的数据。
- 改进 Mini\Db\Db_Abstract 类的构造方法,将适配器参数中的 host 和 port 两项改为可选参数。
- 改进数据库链式操作的 where() 方法,新增一种查询条件的写法。
- 改进数据库链式操作的 table() 方法,当参数为空字符串时抛出异常。
- 改进 Mini\Cache\Cache 类,当开发者指定的适配器扩展未安装时抛出异常。
- 改进 Mini\Captcha\Captcha 类的 create() 方法,在创建验证码图像前如检查 GD 库未正确安装则抛出异常。
- 改进 Mini\Base\Config 类,新增支持静态调用方法,和通过变量设置配置项的机制。
- 改进全局函数 dump(),减少空白行输出。
- 改写部分文件的代码,更符合编码规范。
升级说明
- 兼容 PHP 最低版本为 7.2.0(建议升级至 PHP 8)
- 当前版本向前兼容至 2.4.0 版本,使用 2.4.0 及后续版本的开发者可直接升级至 2.11.0 版本。
- 文档已同步更新,地址:http://www.miniframework.com/docv2/guide/
Version 2.10.3 released.
- 改进 Mini\Db\Mysql 类,支持更新数据时进行预处理。
- 改进 Mini\Base\Model 类,支持更新数据时进行预处理。
Version 2.10.2 released.
版本变化
- 修复 Mini\Base\Exception 类无法正常显示 MySQL 报错信息的Bug。
- 修复 Mini\Captcha\Captcha 类 create() 方法不能正常显示验证码的Bug。
Version 2.10.1 released.
版本变化
- 修复 Mini\Base\Upload 类的 saveOne() 无法正确设置上传文件保存路径的Bug。
Version 2.10.0 released.
版本变化
- 新增常量 ERROR_PAGE,默认值为空,用于声明自定义错误页面。
- 新增支持输出自定义错误页的特性。
- 新增自定义错误页的示例代码。
- 新增 Mini\Base\Response 类的 charset() 方法,用于在响应头中自定义字符编码。
- 新增 Mini\Base\Rest 类的 response() 和 type() 方法,对输出进行统一封装。
- 调整错误信息输出方式,当启用 REST 模式对 API 接口请求遇到异常时,将以 JSON 格式输出错误信息。
- 改进 Mini\Base\App 类的 dispatch() 方法,支持传入参数带入 Action 中。
- 改进 Mini\Base\App 类,增加名为 isApi 属性,用于判断当前请求是否为 REST 接口。
- 改进 Mini\Base\Action 类的 forward() 方法,支持跳转时传递参数。
- 改进 Mini\Base\Rest 类,在构造阶段即将默认的 json 方式传递给 Response 对象。
- 改进 Mini\Base\Exception 类,在 CLI 模式下运行时默认输出错误信息。
- 改进 Mini\Base\Loader 类,在自动加载过程遇到文件不存在时不主动抛出错误。
- 改进 Mini\Base\Layout 类的 setLayout() 方法,参数允许留空或传入 null 以清除历史布局设置。
- 调整 Mini\Base\Layout 类,取消单例模式,改为常规的实例化对象方式。
- 改进 Mini\Base\Action 类的 forward() 方法,跳转前默认清除历史的布局设置。
- 改进 Mini\Base\View 类的属性声明方式,以兼容 PHP 7.2 和 7.3 版本。
- 改进框架默认的报错输出格式,优化阅读体验。
- 修复 Mini\Cache\File 类的 set() 和 del() 两个方法中写入和删除文件的Bug。
- 修复配置自定义路由与 CLI 模式运行时出现的路由冲突问题。
Version 2.9.9 released.
版本变化
- 新增支持在控制中通过名为 _end 的方法名,在所有动作结束后执行一些代码。
- 修复在 PHP 8.2 中模板渲染的Bug。
- 改进 autoload 自动装载在特定环境下的兼容性(感谢网友繁星点点反馈此问题)。
Version 2.9.8 released.
版本变化
- 将 Mini\Base\Debug 迁移至 Mini\Helpers\Debug 后续作为助手类使用。
- 新增 Mini\Helpers\Debug 类的 memoryUsage() 方法,用于获取内存占用情况。
- 调整代码对 PHP 8.2 以上版本进行兼容。
Version 2.9.7 released.
版本变化
- 改进 Mini\Base\Model 类的 add() 方法,调整参数为布尔类型,用于开闭预处理。
- 改进 Mini\Base\Model 类的 save() 方法,支持使用 debug() 方法时输出 SQL 语句。
- 改进 Mini\Base\Model 类的 delete() 方法,支持使用 debug() 方法时输出 SQL 语句。
- 改进 Mini\Db\Mysql 类,使用预处理插入数据时,支持 debug 输出 SQL 语句。
- 改进 Mini\Base\Model 类,增加事务处理的相关方法。
Version 2.9.6 released.
版本变化
- 新增常量 LOG_MAX_FILES,默认值30,用于定义日志文件存储的最大数量。
- 新增 Mini\Base\Model 类的 distinct() 方法,用于链式操作支持 SQL 的 DISTINCT 语句。
- 新增 Mini\Base\Model 类的 having() 方法,用于链式操作支持 SQL 的 HAVING 语句。
- 新增 Mini\Base\Model 类的 page() 方法,帮助开发者更简单地实现分页功能。
- 改进 Mini\Base\Model 类的 select() 方法,对于传入参数的字符大小写不再做限制。
- 改进 Mini\Base\Log 类的 writeToFile()方法,根据常量 LOG_MAX_FILES 定义的数量控制日志文件个数。
- 改进 Mini\Db\Mysql 类的 query() 方法,对于传入参数的字符大小写不再做限制。