설정 업그레이드
문서
변경된 사항
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 = 'webmaster@example.com';
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 = 'webmaster@example.com';
}