XpressEngine
  • INTRODUCE
  • 시작하기
    • 권장 사양
    • 터미널 환경 설치
    • 웹 환경 설치
    • 업데이트
    • 문제 해결(디버깅)
  • 사이트 설정
    • 회원 설정 및 관리
    • 관리자 비밀번호 설정
    • 사이트맵 추가 및 제거
    • 컨텐츠 관리 및 신고 집계
    • Store 토큰 설정
    • 익스텐션 설치 / 업데이트
    • 기본 테마 설정
    • SEO 설정
    • 다국어 설정
    • 캡챠 설정
  • 번들 플러그인
    • 미디어 라이브러리
    • 외부페이지 플러그인
    • 플러그인 업로드
  • 개발자 문서
    • 개요
    • 디렉토리 구조
    • 컴포넌트
    • 플러그인
    • 서비스
    • 라이프 사이클
    • 라우팅
    • 컨트롤러
    • 요청
    • 응답
    • 프레젠터
    • 뷰
    • 템플릿
  • 플러그인 개발
    • 개요
    • 기본경로 및 구조
    • 기본 플러그인 생성
    • 플러그인 정보 추가 및 수정
    • 관리자 사이트 메뉴 추가
    • 위젯 개발/제작
    • 모듈 개발/제작
    • 에디터 제작
    • 에디터 툴 제작
    • UI 오프젝트 제작
    • 토글 메뉴 제작
    • 다이나믹 필드 제작
    • 다이나믹 필드 스킨 제작
  • 테마 개발/제작
    • 기본경로 및 구조
    • 기본 테마 생성
    • 서브 테마 활용
    • 설정 파일 작성
    • 테마 편집 기능
  • 스킨 개발/제작
    • 기본경로 및 구조
    • 기본 스킨 생성
    • 설정 파일 작성
  • 서비스
    • 카테고리
    • 캡챠
    • 설정
    • 문서
    • 키생성(Keygen)
    • 메뉴/모듈
    • 이벤트/인터셉션
    • 파일/스토리지
    • 회원/인증
    • 모바일
    • 권한
    • 데이터베이스
    • 메일
    • 프론트엔드
    • 이미지처리
    • 세션
    • 헬퍼
    • 쿠키
    • UI오브젝트/폼빌더
    • 카운터
    • 휴지통
    • 유효성검사
    • 오류처리
    • 테마
    • 위젯박스
  • 프론트엔드 (JS)
    • 프론트 엔드 JS 시작하기
    • Lang
    • Page
    • Page Modal
    • Request
    • Validator
Powered by GitBook
On this page
  • 설정(config)
  • 등록
  • 조회
  • 계층조회

Was this helpful?

  1. 서비스

설정

설정(config)

XE에서 제공하는 config는 laravel에서 제공되는 config와는 다르게 데이터베이스에 정보를 담으며 계층을 가지고 상위 정보를 참조합니다. 이때 각 계층은 "."(dot) 으로 구분합니다.

등록

config 는 해당 설정을 나타내는 이름과 그에 매칭되는 배열을 통해 등록됩니다.

XeConfig::add('foo', ['var1' => 'a', 'var2' => 'b']);
XeConfig::add('foo.bar', ['var1' => 'A']);
XeConfig::set('foo.baz', ['var2' => 'B']);

add는 새로운 설정정보를 등록하는 메서드입니다. 만약 같은 이름의 설정이 이미 등록되어져 있는 경우 Exception이 발생하게 됩니다.

set은 기존 설정의 존재 유무와 상관 없이 값을 등록합니다. set의 경우 기존에 같은 이름의 설정이 존재하는 경우 메서드 호출시 전달된 배열의 키에 해당하는 값만을 갱신해 줍니다.

XeConfig::add('foo', ['var1' => 'a', 'var2' => 'b']);
XeConfig::set('foo', ['var1' => 'A']);
echo XeConfig::getVal('foo.var1'); // A
echo XeConfig::getVal('foo.var2'); // b

설정을 등록하는 방법은 add, set 이외에도 put, modify, setVal이 있습니다.

put은 기존에 같은 이름을 가지는 설정이 먼저 등록되어 있어야 정상적으로 동작합니다. 또한 set 과는 다르게 기존의 설정들을 메서드 호출시 전달된 배열 값으로 모두 대체합니다.

XeConfig::add('foo', ['var1' => 'a', 'var2' => 'b']);
XeConfig::put('foo', ['var1' => 'A']);
echo XeConfig::getVal('foo.var1'); // A
echo XeConfig::getVal('foo.var2'); // null

modify는 config 객체를 통해 수정하는 기능입니다.

$config = XeConfig::get('foo');
$config->set('var1', 'A');
XeConfig::modify($config);

setVal은 설정의 특정 항목의 값만 등록하는 메서드입니다.

XeConfig::setVal('foo.var1', 'A');

조회

등록된 설정을 조회할때는 특정 설정키에 해당하는 값을 받거나, config 객체를 반환 받은후 값을 조회하는 방법이 있습니다.

XeConfig::add('foo', ['var1' => 'a', 'var2' => 'b']);
echo XeConfig::getVal('foo.var1'); // a
// 또는
$config = XeConfig::get('foo');
echo $config->get('var1'); // a

만약 등록된 설정이 없는 경우 특정값을 반환 받고 싶으면 다음 인자에 값을 전달하면 됩니다.

XeConfig::add('foo', ['var1' => 'a', 'var2' => 'b']);
echo XeConfig::getVal('foo.var3', 'c'); // c
// 또는
$config = XeConfig::get('foo');
echo $config->get('var3', 'c'); // c

계층조회

config는 계층을 가지고 있고 이를 이용하여 존재하지 않는 설정은 부모에 해당하는 설정을 조회하여 결과를 반환합니다.

XeConfig::add('foo', ['var1' => 'a', 'var2' => 'b']);
XeConfig::add('foo.bar', ['var1' => 'A']);
echo XeConfig::getVal('foo.bar.var2'); // b

설정을 조회할때 두번째 인자로 default 값을 전달하는 경우 최상위 설정에서도 해당하는 결과가 없는 경우에 default 값이 반환되어 집니다.

Previous캡챠Next문서

Last updated 6 years ago

Was this helpful?