版本 4.1.5
发布日期:2021 年 11 月 8 日
CodeIgniter 4.1.5 版发布
不兼容变更
修复了 CSRF 保护上的一个错误。现在,当应用 CSRF 过滤器时,CSRF 保护也适用于 PUT/PATCH/DELETE 请求。如果使用这些请求,则需要发送 CSRF token。
在以前的版本中,如果你没有提供自己的 headers,
CURLRequest
会由于一个错误而发送来自浏览器的请求头。从本版本开始,它不再发送它们。修复了
BaseBuilder::insertBatch()
在testMode
下的返回值。现在它返回 SQL 字符串数组而不是受影响的行数。此更改是为了与批处理方法的返回类型保持兼容。现在BaseBuilder::insertBatch()
的返回数据类型与 updateBatch() 方法相同。对
BaseBuilder::insertBatch()
和BaseBuilder::updateBatch()
方法中数据处理方式进行了重大优化。这减少了内存使用量和更快的查询处理速度。作为权衡,$query->getOriginalQuery()
方法生成的结果发生了变化。它不再返回带有绑定参数的查询,而是实际运行的查询。
增强功能
为保留字符添加了缓存配置
Forge
类的 addForeignKey() 函数现在可以在数组中定义复合外键Forge
类的dropKey
函数可以移除键现在环境变量中可以使用
_
作为分隔符。参见 命名空间分隔符。为路由添加了多个过滤器和类名过滤器
减少了
insertBatch()
和updateBatch()
的内存使用量添加了 基于会话的 CSRF 保护
为
Validation
添加了valid_url_strict
规则- 调试工具栏
在时间线中添加了格式化的查询字符串
改进了查询字符串的关键字高亮和转义
变更
始终在
BaseBuilder
的set
、setUpdateBatch
和insertBatch
函数中转义标识符。
弃用功能
弃用
CodeIgniter\\Cache\\Handlers\\BaseHandler::RESERVED_CHARACTERS
,改用新的配置属性
错误修复
有关完整的错误修复列表,请参阅仓库的 CHANGELOG_4.1.md。