版本 4.0.4
发布日期:2020 年 7 月 15 日
CodeIgniter4 的 4.0.4 版本
重大变更
在
FilterInterface
中的after()
和before()
中添加了$arguments
参数。这是一个重大变更,因此所有实现FilterInterface
的代码都必须更新。
增强功能
SQLite3 数据库的位置已更改,默认情况下现在位于
writable
文件夹中,而不是public
文件夹中。新的 CLI 命令:
cache:clear
,它将销毁当前缓存引擎中的所有数据。感谢 samsonasik,我们有几个库的测试覆盖率达到了 100%。
一些小的性能提升。每一份努力都很重要!
数据库结果类中的
getFieldData()
现在返回列类型和长度。默认的 .htaccess 文件已更新,以更好地支持扩展字符。
新测试功能:Fabricator 使在测试中创建模拟类变得简单且可重复。
模型类现在可以在运行时覆盖回调。这对测试很有用。
对功能测试的一系列改进。
新的command() 辅助函数 用于以编程方式运行您的 CLI 命令。这对测试和 cron 作业很有用。
新命令,
make:seeder
用于生成数据库种子类 骨架文件。Windows 中的 CLI 现在可以使用颜色,以及其他与 Windows 相关的 CLI 改进。
新的辅助mb_url_title(),其功能类似于
url_title()
,但会自动转义和扩展 URL 字符。图像库 现在支持
webp
图像。在路由器中为正则表达式添加了 Unicode 支持。
添加了对delete_files() 辅助函数中删除隐藏文件夹的支持。
Request 类中的
fetchGlobal()
现在支持对数据数组应用过滤器,而不仅仅是第一个项目。file
验证现在适用于文件数组。URI 类现在支持
setSilent()
方法,该方法将禁用抛出异常。URI::getSegment()
的新参数,允许我们更改如果不存在则返回的默认值。在 Image 中实现了
withResource()
,以便您可以使用方法链而不是使用提供的 getResource()(在测试中使用)。只需压缩您的图像。使用新的
withCookies()
和withHeaders()
方法执行重定向时,可以从全局 Response 对象中复制 Cookie 和标头。支持特殊的“hex2bin:”前缀,它可以与
$key
参数一起使用,该参数位于加密类或.env文件中。
已修复的错误
修复了SQLite3数据库的位置,默认情况下它现在将位于
writable
文件夹中,而不是public
文件夹中。修复了
force_https()
可能会第二次添加https://
的错误。修复了CurlRequest中可能导致不正确的“100 Continue”标头的错误。
修复了Image::save()在
$target
参数为null
时的错误。修复了
set_checkbox()
和set_radio()
在$default参数设置为true
时的错误。修复了Model类中结果对象处理的错误。
修复了SQLite数据库的转义字符。
修复了在主键为null时对Postgres和实体的插入操作。
CLI脚本现在可以正确识别参数中的破折号。
CURLRequest现在使用多部分数据正确设置内容长度。
ImageMagick处理程序的各种稳定性改进。
现在应该可以在配置文件中设置验证错误。
从实体保存JSON时不会转义Unicode字符。
现在使用自定义HTTP代码重定向应该可以正常工作。
Time::setTimezone()
现在可以正常工作。为Postgres添加了完全外连接支持。
在
fill()
过程中,实体中的一些强制转换项(如数组、json)没有被正确设置。修复了Image GD处理程序中在某些情况下会尝试压缩图像两次的错误。
确保翻译输出逻辑在选定语言环境、带连字符的语言环境和回退“en”上正常工作。
修复通过 API 在 PostgreSQL 中使用 POST/PUT 方法调用
is_unique
/is_not_unique
验证时的错误。修复了过滤器参数未传递给
after()
的错误。
有关已修复错误的完整列表,请参阅仓库的 CHANGELOG_4.0.md。