版本 4.1.5

发布日期:2021 年 11 月 8 日

CodeIgniter4 的 4.1.5 版本

重大变更

  • 修复了 一个错误,该错误与 CSRF 保护有关。现在,当应用 CSRF 过滤器时,CSRF 保护适用于 PUT/PATCH/DELETE 请求。如果您使用此类请求,则需要发送 CSRF 令牌。

  • 在之前的版本中,如果您没有提供自己的标头,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 中的 setsetUpdateBatchinsertBatch 函数中转义标识符。

弃用

  • 弃用 CodeIgniter\\Cache\\Handlers\\BaseHandler::RESERVED_CHARACTERS,转而使用新的配置属性

已修复的错误

有关已修复错误的完整列表,请参阅仓库的 CHANGELOG_4.1.md