バージョン 4.0.4
リリース日: 2020年7月15日
CodeIgniter4の4.0.4リリース
互換性なし
FilterInterface
のafter()
とbefore()
に$arguments
パラメーターを追加しました。これは互換性を損なう変更であるため、FilterInterface
を実装するすべてのコードを更新する必要があります。
機能強化
SQLite3データベースの場所は変更され、デフォルトでは
public
フォルダではなくwritable
フォルダに配置されるようになりました。新しいCLIコマンド:現在のキャッシュエンジン内のすべてのデータを破棄する
cache:clear
。samsonasikのおかげで、いくつかのライブラリが100%のテストカバレッジに達しました。
いくつかの小さなパフォーマンス向上。少しでも重要です!
データベース結果クラスの
getFieldData()
は、カラムの型と長さを返すようになりました。拡張文字でより適切に機能するように、デフォルトの.htaccessファイルが更新されました。
新しいテスト機能:Fabricatorを使用すると、テストでモッククラスの作成が簡単になり、繰り返し実行できます。
モデルクラスでは、コールバックをランタイム時にオーバーライドできるようになりました。テストに役立ちます。
機能テスト全般にいくつかの改善が行われました。
新しいcommand()ヘルパー関数を使用して、CLIコマンドをプログラムで実行できます。テストやcronジョブに役立ちます。
新しいコマンド
make:seeder
を使用して、Database Seedクラスのスケルトンファイルを作成できます。WindowsでもCLIでカラーを使用できるようになりました。その他にもWindows関連のCLI改善が含まれています。
新しいヘルパーmb_url_title()は
url_title()
のように機能しますが、拡張URL文字を自動的にエスケープします。Imageライブラリは
webp
画像をサポートするようになりました。ルーターにUnicode対応の正規表現のサポートを追加しました。
delete_files()ヘルパーで非表示フォルダの削除をサポートしました。
Requestクラスの
fetchGlobal()
は、最初のアイテムだけでなく、データの配列にもフィルタを適用できるようになりました。file
バリデーションは、ファイルの配列で機能するようになりました。URIクラスは、例外のスローを無効にする
setSilent()
メソッドをサポートするようになりました。URI::getSegment()
に新しい引数を追加しました。これにより、何も存在しない場合に返されるデフォルト値を変更できます。Imageに
withResource()
を実装しました。これにより、提供されたgetResource()を使用する代わりにメソッドチェーンを使用できます(テストで使用)。画像を圧縮するだけです。新しい
withCookies()
メソッドとwithHeaders()
メソッドを使用してリダイレクトを実行する場合、グローバルResponseオブジェクトからクッキーとヘッダーをコピーできます。Encryptionクラスまたは.envファイルで
$key
パラメーターで使用できる特別なプレフィックス「hex2bin:」をサポートしました。
バグ修正
デフォルトでは
public
フォルダではなくwritable
フォルダに配置されるようになったSQLite3データベースの場所を修正しました。force_https()
が2回目にhttps://
を追加する可能性があったバグを修正しました。不正確な「100 Continue」ヘッダーが発生する可能性があったCurlRequestのバグを修正しました。
$target
パラメーターがnull
の場合のImage::save()のバグを修正しました。set_checkbox()
とset_radio()
のバグ修正($ defaultパラメーターがtrue
に設定されている場合)。Modelクラスでの結果オブジェクト処理のバグ修正。
SQLiteデータベースのエスケープ文字を修正しました。
主キーがnullの場合のPostgresとエンティティへの挿入のバグを修正しました。
CLIスクリプトは、引数内のダッシュを正しく認識できるようになりました。
CURLRequestは、マルチパートデータでコンテンツ長を正しく設定するようになりました。
ImageMagickハンドラの安定性の改善。
設定ファイル内のバリデーションエラーの設定が機能するようになりました。
エンティティからJSONを保存するときに、Unicode文字がエスケープされなくなりました。
カスタムHTTPコードでリダイレクトが正しく機能するようになりました。
Time::setTimezone()
が正しく機能するようになりました。Postgresへのフル外部結合のサポートを追加しました。
エンティティの一部のキャストアイテム(配列、jsonなど)は、
fill()
処理中に正しく設定されていませんでした。特定のケースで画像を2回圧縮しようとしていたImage GDハンドラのバグを修正しました。
選択されたロケール、ダッシュ付きロケール、フォールバック「en」で翻訳出力ロジックが機能することを確認しました。
PostgreSQLでAPI経由でPOST / PUTで呼び出された
is_unique
/is_not_unique
バリデーションのバグを修正しました。フィルタ引数が
after()
に渡されていなかったバグを修正しました。
修正されたバグの完全なリストについては、リポジトリのCHANGELOG_4.0.mdを参照してください。