設定のアップグレード

ドキュメント

変更点

  • CI4 では、設定は CodeIgniter\Config\BaseConfig を拡張するクラスに保存されるようになりました。

  • CI3 の application/config/config.phpapp/Config/App.php になり、特定のクラスに対して app/Config/Security.php のような他のファイルになります。

  • 設定クラス内では、設定値は public クラスプロパティに格納されます。

  • 設定値を取得する方法が変更されました。

アップグレードガイド

  1. CI3 ファイルの変更に従って、デフォルトの CI4 設定ファイル内の値を変更する必要があります。設定名は CI3 とほぼ同じです。

  2. CI3 プロジェクトでカスタム設定ファイルを使用している場合は、CI4 プロジェクトの app/Config に新しい PHP クラスとしてこれらのファイルを作成する必要があります。これらのクラスは Config 名前空間にあり、CodeIgniter\Config\BaseConfig を拡張する必要があります。

  3. すべてのカスタム設定クラスを作成したら、CI3 設定の変数を新しい CI4 設定クラスに public クラスプロパティとしてコピーする必要があります。

  4. 次に、設定値を取得するすべての場所で、設定取得の構文を変更する必要があります。CI3 の構文は $this->config->item('item_name'); のようになります。これを config('MyConfig')->item_name; に変更する必要があります。

コード例

CodeIgniter バージョン 3.x

パス: application/config/site.php

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

$siteName  = 'My Great Site';
$siteEmail = '[email protected]';

CodeIgniter バージョン 4.x

パス: app/Config/Site.php

<?php

namespace Config;

use CodeIgniter\Config\BaseConfig;

class Site extends BaseConfig
{
    public $siteName  = 'My Great Site';
    public $siteEmail = '[email protected]';
}