版本 4.1.2
发布日期:2021 年 5 月 16 日
CodeIgniter4 的 4.1.2 版本
重大变更
修复了 一个错误,该错误在 current_url()
中,阻止了具有 indexPage
的配置将该值包含在返回值中。任何使用 App::$indexPage
的安装都应该期望 current_url()
及其所有依赖项(包括响应测试、分页器、表单助手、分页器和视图解析器)的返回值发生变化。
增强功能
新的 HTTP 类,
Cookie
和CookieStore
,用于抽象 Web Cookie。HTTP 测试中提供新的
assertRedirectTo()
断言。新的日志记录处理程序,
ErrorlogHandler
,它写入error_log()
。实体。添加了自定义类型转换功能。
路由中的新选项。
priority
选项降低特定路由处理的优先级。Autoloader
类现在可以加载不包含 PHP 类的文件。 非类 文件的列表将列在Config\Autoload
类的$files
属性中。
更改
视图中的布局现在支持嵌套部分。
Response::getCookie
现在返回一个Cookie
实例,而不是 cookie 属性数组。Response::getCookies
现在返回一个Cookie
实例数组,而不是属性数组的数组。为了消除现代浏览器控制台的警告,空 samesite 值将在 cookie 分发时默认设置为
Lax
。Model::errors() 和 BaseModel::errors() 现在始终返回 array;没有定义更改,但 docblock 已更新。
Entity::castAs
的行为已更改。添加了新参数$method
。类型转换已移至单独的处理程序。Entity. 时间戳转换现在在传递无效值时抛出异常
Entity::castAsJson
使用外部转换处理程序JsonCast::get
。Entity::mutateDate
使用外部转换处理程序DatetimeCast::get
。为了使
Config\**
类从.env
获取其各自属性的值,现在有必要使用类的名称对属性进行命名空间。以前,属性名称就足够了,但现在不允许,因为它可以获取系统环境变量,例如PATH
。数组助手
_array_search_dot
现在标记为@internal
使用。由于这由dot_array_search
使用,因此用户不应在代码中直接使用_array_search_dot
。CacheInterface::getMetaData()
返回null
表示未命中,或返回一个数组,其中至少包含“expires”键,该键的值为绝对时间戳的过期时间,或null
表示“永不过期”。File、Memcached 和 Wincache 处理程序仍然返回false
,这将在未来版本中变为null
。
弃用
弃用
CodeIgniter\View\View::$currentSection
属性。针对
CookieException
自己的异常消息,弃用无效 cookie samesite 的语言字符串和异常。弃用 CodeIgniterEntity,改用 CodeIgniterEntityEntity
弃用
Response
的 cookie 相关属性,改用Cookie
类。弃用
Security
的 cookie 相关属性,改用Cookie
类。弃用
Session
的 cookie 相关属性,改用Cookie
类。弃用
Security::isExpired()
,改用Cookie
的内部过期状态。弃用
CIDatabaseTestCase
,改用DatabaseTestTrait
。弃用
FeatureTestCase
,改用FeatureTestTrait
。弃用
ControllerTester
,改用ControllerTestTrait
。将
ControllerResponse
和FeatureResponse
合并并弃用,改用TestResponse
。弃用
Time::instance()
,改用Time::createFromInstance()
(现在接受DateTimeInterface
)。弃用
IncomingRequest::removeRelativeDirectory()
,改用URI::removeDotSegments()
。弃用
\API\ResponseTrait::failValidationError
,改用\API\ResponseTrait::failValidationErrors
。
已修复的错误
BaseConnection::query()
现在对于失败的查询返回false
(除非DBDebug==true
,在这种情况下会抛出异常),并且对于文档中指定的写入类型查询返回布尔值。
有关已修复错误的完整列表,请参阅仓库的 CHANGELOG_4.1.md。