4.1.9から4.2.0へのアップグレード
インストール方法に対応するアップグレード手順を参照してください。
必須のファイル変更
index.phpとspark
以下のファイルに重大な変更が加えられました。アプリケーションと更新されたバージョンをマージする必要があります。
public/index.php
spark
重要
上記の2つのファイルを更新しないと、composer update
の実行後、CodeIgniterはまったく動作しません。
アップグレード手順の例は次のとおりです。
composer update
cp vendor/codeigniter4/framework/public/index.php public/index.php
cp vendor/codeigniter4/framework/spark .
Config/Constants.php
定数EVENT_PRIORITY_LOW
、EVENT_PRIORITY_NORMAL
、EVENT_PRIORITY_HIGH
は非推奨となり、定義はapp/Config/Constants.php
に移動しました。これらの定数を使用する場合は、app/Config/Constants.php
で定義してください。または、新しいクラス定数CodeIgniter\Events\Events::PRIORITY_LOW
、CodeIgniter\Events\Events::PRIORITY_NORMAL
、CodeIgniter\Events\Events::PRIORITY_HIGH
を使用してください。
composer.json
Composerを使用し、CodeIgniter v4.1.9以前をインストールした場合、/composer.json
のautoload.psr-4
にApp\\
とConfig\\
の名前空間が以下のようにある場合は、これらの行を削除し、composer dump-autoload
を実行する必要があります。
{
...
"autoload": {
"psr-4": {
"App\\": "app", <-- Remove this line
"Config\\": "app/Config" <-- Remove this line
}
},
...
}
破壊的変更
system/bootstrap.php
ファイルは、CodeIgniter
インスタンスを返さなくなり、.env
ファイル(現在はindex.php
とspark
で処理)をロードしなくなりました。これらの動作を期待するコードがある場合は、動作しなくなり、変更する必要があります。これは、プリロードを実装しやすくするために変更されました。
破壊的な機能強化
Validation::setRule()
のメソッドシグネチャが変更されました。$rules
パラメーターのstring
型ヒントが削除されました。拡張クラスも同様に、LSPを壊さないようにパラメーターを削除する必要があります。CodeIgniter\Database\BaseBuilder::join()
およびCodeIgniter\Database\*\Builder::join()
のメソッドシグネチャが変更されました。$cond
パラメーターのstring
型ヒントが削除されました。拡張クラスも同様に、LSPを壊さないようにパラメーターを削除する必要があります。
プロジェクトファイル
プロジェクトスペース(root、app、public、writable)内の多数のファイルが更新されました。これらのファイルはシステムスコープの外部にあるため、ユーザーの介入なしに変更されることはありません。プロジェクトスペースへの変更のマージを支援するサードパーティのCodeIgniterモジュールがいくつかあります。Packagistで探索。
注
バグ修正のための非常にまれなケースを除き、プロジェクトスペースのファイルに対して行われた変更でアプリケーションが壊れることはありません。ここに記載されているすべての変更は、次のメジャーバージョンまでオプションであり、必須の変更は上記のセクションで説明します。
コンテンツの変更
以下のファイルに重大な変更(非推奨または視覚的な調整を含む)が加えられました。更新されたバージョンをアプリケーションとマージすることをお勧めします。
app/Config/Routes.php
デフォルト設定をより安全にするために、自動ルーティングはデフォルトで無効に変更されました。
すべての変更
これは、変更されたプロジェクトスペース内のすべてのファイルのリストです。多くは実行時に影響のない簡単なコメントまたはフォーマットになります。
app/Config/App.php
app/Config/Constants.php
app/Config/ContentSecurityPolicy.php
app/Config/Database.php
app/Config/Events.php
app/Config/Feature.php
app/Config/Filters.php
app/Config/Format.php
app/Config/Logger.php
app/Config/Mimes.php
app/Config/Publisher.php
app/Config/Routes.php
app/Config/Security.php
app/Config/Validation.php
app/Config/View.php
app/Controllers/BaseController.php
app/Views/errors/html/debug.css
app/Views/errors/html/debug.js
app/Views/errors/html/error_404.php
app/Views/errors/html/error_exception.php
app/Views/errors/html/production.php
app/Views/welcome_message.php
app/index.html
preload.php
public/index.php
spark