CI 묻고 답하기

제목 생성자 또는 전역변수에 대해 질문드립니다
글쓴이 쟈렘주민 작성시각 2015/07/27 15:42:22
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 18523   RSS
현재 모바일 게임의 서버쪽 프로그램을 개발 중입니다
그런데 아무리 생각해보고 서치를 해봐도 답이 안나와서 질문을 드립니다

특정로직을 실행하기 위해 DB로부터 특정 데이터를 불러와야 됩니다
그런데 이 데이터는 변하지 않는 데이터입니다
변하지 않는 데이터를 매번 로직이 실행될 때마다 DB로 부터 불러오는 것은 쓸데없이 서버부하만 가중시키는 일이라
컨트롤러가 처음 로딩될 때 전역변수에 이 데이터를 넣어두어 해당 전역변수를 이용해서 로직을 실행하고싶습니다

그런데 그 전역변수를 어떻게 생성하고 사용하는지 잘 모르겠습니다
코드이그나이터 메뉴얼을 아무리 뒤져도 관련 내용이 없고......

제 생각에는 생성자 함수 안에 변수를 선언하고 값을 할당해 놓으면 될거 같은데.... 그 방법을 도무지 모르겠습니다
제나름 이런저런 방법으로 변수를 정의하고 함수에서 불러와 봤는데... 계속 에러네요

너무 초보적인 질문이라 질문드리기도 쑥스럽습니다만은 생성자 안에 변수를 선언하고 불러와 사용하는 방법좀 알려주세요


참고로 말씀드리자면 데이터는 반드시 DB에서 불러와야 합니다
 다음글 Directory access is forbidden ... (2)
 이전글 없는 페이지도 체크할 수 있을까요? (4)

댓글

변종원(웅파) / 2015/07/27 16:34:37 / 추천 0
부하를 분산하는 방법이 있습니다.

1. db에 어떤 값을 수정, 삭제, 등록할때 그 내용을 db뿐만 아니라 파일(xml 또는 json)로 씁니다.

2. codeigniter의 hook 기능을 이용하여 해당 파일을 읽어 상수로 선언합니다.

3. 선언된 상수를 컨트롤러, 모델, 뷰에서 사용합니다.

자세한 방법은 http://cikorea.net/tip/view/104 참고하세요. ^^

 
변종원(웅파) / 2015/07/27 16:37:03 / 추천 0
생성자안에서 작업하셔야 한다면..
 
function __construct()
{
   parent::__construct();
   $this->var = $this->some_model->get_var(); //특정 모델에서 db의 값을 가져오는 함수를 호출
}

function index()
{
    echo $this->var;
} 
 

 
쟈렘주민 / 2015/07/28 10:20:42 / 추천 0
웅파님 감사합니다^^ 덕분에 잘 해결했습니다