CI 묻고 답하기

제목 [초보]common파일을 만들어 봤는데요..
글쓴이 헛발이 작성시각 2010/02/05 11:42:24
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 20971   RSS
케이든님이 약간 조언을 해 줘서 만들어 봣는데.. 맞는지 모르겠어요.. 함 봐주세요~

config폴더에 common.php라고 만들어 놓고 내용은 다음과 같습니다.
define('SET_SITENAME', '사이트명');
$config['name_by_windowbar'] = '사이트부제목';
이렇게 두개의 파일을 넣어 두었습니다.

다음에 autoload.php파일에
$autoload['helper'] = array('html','common');
이렇게 핼퍼를 하나 만들어 자동로드로 올려 놓았죠...

그 다음에 common_helper.php라는 핼퍼파일을 만들어 핼퍼 디랙토리에 올려 놓았고 내용은 다음과 같습니다.
if ( ! function_exists('get_common_var'))
{
    function get_common_var($var='')
    {
        $CI =& get_instance();
        $CI->config->load('common', true);
        return $CI->config->item($var, 'common');
    }
}
레이아웃파일에서 다음과 같이 했습니다.
<title><?=SET_SITENAME?></title>
<body>
<h2><?=get_common_var('name_by_windowbar')?></h2>
</body>
이렇게 했는데요..
일단 결과는 title에도 값이 찍히고 h2에도 값이 찍힙니다.
이렇듯 config파일에 define를 한 값은 자동으로 찍히나봐요????? get_common_var()를 이용해서 값을 가져 오지도 않았는데요..

근데 여기서 질문!!
<title><?=SET_SITENAME?></title>
<body>
</body>
이렇게 상수값만 불러 오면 불러 오지 못한다는거..왜죠? 아래와 같이 해야만 불러 온다는거...왜죠?
<title><?=SET_SITENAME?></title>
<body>
<h2><?=get_common_var('name_by_windowbar')?></h2>
</body>
왜죠?
 다음글 [초보]ul에 관하여 (1)
 이전글 Tank_auth 질문있어요.. (8)

댓글

케이든 / 2010/02/05 11:48:34 / 추천 0
common 컨피그 파일만 쓰실려면

아싸리 오토로드에 너놓으시면 헬퍼도 필요없고 매번 불러오지 않아도 되고

SET_SITENAME도 찍힐겁니다

하지만 constants는 constants파일에 넣는게 좋겟지요?
헛발이 / 2010/02/05 12:02:53 / 추천 0
작업변경!! 역시 핼퍼 보단 라이브러리로~
변종원(웅파) / 2010/02/05 12:59:34 / 추천 0
get_common_var()를 호출해야 사용자 config 파일인 common.php를 읽어들이기 때문입니다.
그전에는 common.php를 읽어오는 곳이 없죠.
헛발이 / 2010/02/05 13:31:22 / 추천 0
그렇군요... 역시 초보자의 길은 길고도 험하군요...ㅡ.ㅡ;;