CI 묻고 답하기

제목 config에 대한 질문입니다.
글쓴이 루디아 작성시각 2009/10/23 16:19:43
댓글 : 7 추천 : 0 스크랩 : 0 조회수 : 30141   RSS
여기서 보여지는 것처럼 config 파일을 setting 하면
gloval 변수처럼 모두 적용 되기를 바라는데..

/appicaation/config/config.php에 

$config['language'] 값을 set_item으로 변경할 경우에
다른 .php에서도 다 적용 되는게 아니고
해당 php에서만 적용됩니다.

이런경우 어떻게 처리하는지요?

(version 1.7.1 및 matchbox 사용자)


 다음글 다들 썸네일은 어케 하고 있나요? (6)
 이전글 1264번의 view의 frameset 사용 재문의 (2)

댓글

변종원(웅파) / 2009/10/23 17:50:29 / 추천 0
글로벌하게 사용하고 변경가능한 설정값을 사용하고 싶으신거죠?
config파일로는 힘들고 DB상수(상수를 db에 입력, 불러오는 라이브러리)나
파일로 쓰고 그 내용을 가져다 쓰거나 해야합니다.

config의 경우 기본설정값들이기때문에 변동이 되면 사이트 전체에 영향을 줍니다.

전에 ci포럼에서 관련 라이브러리를 찾았는데 정리한 파일을 삭제해서 찾을수가 없네요.
검색해보니... http://codeigniter.com/forums/viewthread/77997/
이 라이브러리 적용해보세요. ^^
ci세상 / 2009/10/23 19:14:05 / 추천 0
config.php 에서
$config['language'] = 'english'; 를 $config['set_item'] = "english"; 로 바꿔서

모듈 > MVC 어느 소스에서나 echo $this->config->item('set_item'); 로 찍으면

english로 출력이 되면 맞는 개념인가요?^^ 이해를 잘 못했네요 ~~
마냐 / 2009/10/24 10:18:54 / 추천 0

코어 코드를 보면
function set_item($item, $value) {
  $this->config[$item] = $value;
}

파일을 바꾸는게 아니기 때문에 해당 페이지에서만 적용 될겁니다.

config 의 설정은 mvc 어디에서나 불러 올 수 있습니다.

$this->config->item('value');

따로 config_temp.php 를 만들어서
$this->load->config('config_temp');
$this->config->item('test1');

로도 불러올 수 있지요.

전체적으로 쓰이는 공용 값이라면 상수를 이용하시는게 편하겠죠.

루디아 / 2009/10/26 11:57:54 / 추천 0
네.. 결국 DB로 하여야 겠네요..
답변에 감사합니다.
ci세상 / 2009/10/26 12:07:28 / 추천 0
마냐님 말씀처럼 해도 안되는 부분인가요?^^ 디비로 처리하신다고 하셔서요 ~~
변종원(웅파) / 2009/10/26 12:21:11 / 추천 0
ci세상/ 기존 값을 가져오는 것은 되도 쓰기는 안됨. ^^
후킹을 이용하여 상수로 선언하고 쓰더라도 바뀐 최종값을 저장해서 다시 써야하는 경우라면
결국에는 DB나 파일DB를 이용할 수 밖에 없음.
ci세상 / 2009/10/26 14:41:31 / 추천 0
전체 설정값을 제어한다는 질문이군요;; 그렇다면 아래 방법을 참조하면 좋겠네요^^

http://codeigniter.com/forums/viewthread/131762/