제목 | ci4 에서 config 확장 방법? | ||
---|---|---|---|
카테고리 | CI 4 관련 | ||
글쓴이 | 포포탄 | 작성시각 | 2020/06/16 16:28:27 |
|
|||
ci4에서 config 확장을 위해서 http://ci4doc.cikorea.net/general/configuration.html?highlight=registrar#registrars 페이지를 참고하여 registrars 를 App\Config\Database에 하기와 같이 등록하였습니다.
class Database extends \CodeIgniter\Database\Config { /** * */ protected $registrars = [ \Foo\Config\FooDatabase::class ]; ...
그리고, \Foo\Config\FooDatabase 는 하기와 같이 작성하였구요.
namespace Foo\Config; class FooDatabase { public static $default = [...]; ... public static function Database() { return [ ... 디비구성을 위한 배열값 ]; } }
그리고, spark 돌려보니, Connot redeclare static CodeIgniter\Database\Config::$registrars as non static Config\Database::$registrars in ... 에러가 발생하더군요.
우선, 각 설정클래스가 상속하고 있는 BaseConfig에 $registars 프로퍼티가 public static 으로 선언되어 있고(4.0.3 기준), 따라서 메뉴얼과는 다르게, $registrars 프로퍼티를 public static $registrars 로 전환해주고, 실행해보니 에러 발생하지 않고, 설정값도 잘 불러와지기는 해서 작업을 계속 진행하고 있습니다.
이게 버전업이 되면서 $registrars 프로퍼티 속성이 모르게 변경이 된 건지, 아니면 제가 메뉴얼을 곡해하고 있는건지 궁금하네요. 뭔가 확장방법도 깔끔하지 못하는 기분도 들고.. 이럴거면 차라리 예전처럼 hmvc로 만들 때 방식대로 require로 구조를 만드는게 훨씬 깔끔할 것 같다는 기분도 듭니다.
각종 설정들을 분리를 해서 잘 관리할 수 있는 노하우가 있을까요? ci4로 hmvc확장 연구해보신분들의 의견을 듣고 싶습니다.
|
|||
다음글 | ci 실행 방법 (2) | ||
이전글 | php7.2 upgrade 후 redis 연동 문제 (6) | ||
한대승(불의회상)
/
2020/06/16 16:59:24 /
추천
0
|
protected 속성을 사용하려면 Foodatabase가 \Codeigniter\Data\Config 클래스를 상속 받아야 할 텐데 상속 받는 부분이 없으니 public 으로 지정해야 사용이 가능할것 같네요.