設定のアップグレード
ドキュメント
変更点
CI4 では、設定は
CodeIgniter\Config\BaseConfig
を拡張するクラスに保存されるようになりました。CI3 の application/config/config.php は app/Config/App.php になり、特定のクラスに対して app/Config/Security.php のような他のファイルになります。
設定クラス内では、設定値は public クラスプロパティに格納されます。
設定値を取得する方法が変更されました。
アップグレードガイド
CI3 ファイルの変更に従って、デフォルトの CI4 設定ファイル内の値を変更する必要があります。設定名は CI3 とほぼ同じです。
CI3 プロジェクトでカスタム設定ファイルを使用している場合は、CI4 プロジェクトの app/Config に新しい PHP クラスとしてこれらのファイルを作成する必要があります。これらのクラスは
Config
名前空間にあり、CodeIgniter\Config\BaseConfig
を拡張する必要があります。すべてのカスタム設定クラスを作成したら、CI3 設定の変数を新しい CI4 設定クラスに public クラスプロパティとしてコピーする必要があります。
次に、設定値を取得するすべての場所で、設定取得の構文を変更する必要があります。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]';
}