4.4.3 から 4.4.4 へのアップグレード
インストール方法に対応するアップグレード手順を参照してください。
必須ファイルの変更
エラーファイル
正しいエラーメッセージを表示するために、以下のファイルを更新してください。
app/Views/errors/cli/error_exception.php
app/Views/errors/html/error_exception.php
破壊的変更
ドット配列構文を使用したバリデーション
バリデーションルールでドット配列構文を使用している場合、`*` が間違った次元にデータを検証するバグが修正されました。
以前のバージョンでは、ルールキー `contacts.*.name` は `contacts.*.name`、`contacts.*.*.name`、`contacts.*.*.*.name` など、任意のレベルのデータを誤って取得していました。
詳細は以下のコードで説明しています。
use Config\Services;
$validation = Services::validation();
$data = [
'contacts' => [
'name' => 'Joe Smith',
'just' => [
'friends' => [
['name' => 'SATO Taro'],
['name' => 'Li Ming'],
['name' => 'Heinz Müller'],
],
],
],
];
$validation->setRules(
['contacts.*.name' => 'required|max_length[8]']
);
$validation->run($data); // false
d($validation->getErrors());
/*
Before: Captured `contacts.*.*.*.name` incorrectly.
[
contacts.just.friends.0.name => "The contacts.*.name field cannot exceed 8 characters in length.",
contacts.just.friends.2.name => "The contacts.*.name field cannot exceed 8 characters in length.",
]
After: Captures no data for `contacts.*.name`.
[
contacts.*.name => string (38) "The contacts.*.name field is required.",
]
*/
このバグに依存するコードがある場合は、ルールキーを修正してください。
バリデーションルール matches と differs
厳密ルールと従来ルールで `matches` と `differs` が文字列以外の型のデータを検証する場合のバグが修正されたため、これらのルールを使用していて文字列以外のデータを検証している場合、バリデーションの結果が変更される可能性があります(修正されました)。
従来のルールは、文字列以外のデータを検証するために使用しないでください。
CURLRequest での `ssl_key` オプションの使用が削除されました
CURLRequest オプション `ssl_key` は、もはや認識されません。使用している場合、`ssl_key` オプションは CURLRequest の CA バンドルへのパスを定義するために `verify` オプションに置き換える必要があります。
CURLRequest オプション `verify` は、通常どおりブール値も受け入れます。
プロジェクトファイル
**プロジェクト空間**(ルート、app、public、writable)の一部のファイルが更新されました。これらのファイルは**システム**のスコープ外にあるため、あなたの介入なしに変更されることはありません。
プロジェクト空間への変更のマージを支援するサードパーティ製の CodeIgniter モジュールがいくつかあります。Packagist で確認。
すべての変更
これは、変更を受けた**プロジェクト空間**内のすべてのファイルのリストです。多くは、ランタイムに影響を与えない単純なコメントやフォーマットです。
app/Config/App.php
app/Config/Autoload.php
app/Config/Boot/development.php
app/Config/Boot/testing.php
app/Config/Cache.php
app/Config/Email.php
app/Config/Filters.php
app/Config/Kint.php
app/Config/Modules.php
app/Config/Publisher.php
app/Config/Session.php
app/Views/errors/cli/error_exception.php
app/Views/errors/html/error_exception.php
composer.json
env
spark