제목 | 컨트롤러 내 공통부분 빼기 질문입니다ㅜ | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 소연신 | 작성시각 | 2017/03/07 09:26:22 |
|
|||
며칠전에 질문드렸었는데..
단순한 공통부분은 컨트롤러 내에서 함수로 따로 빼서 잘 사용했습니다.
바보 같은 질문일 수 있는데
$board_type = $this->input->post('type', true); if($board_type == 'free' || $board_type == 'best' || $board_type == 'humor' || $board_type == 'photo' || $board_type == 'tip') { $table = 'community'; } else if($board_type == 'notice') { $table = 'notice'; }
그런데 이런 건 안되네요. 저 부분을 공통함수로 빼고 $this->함수명() 이렇게 사용하면 저 $table을 인식 못합니다. return을 해도 안되고.. 게시판 타입에 따라 테이블 명을 뽑는건데 이런 거 어떻게 처리할 수 있나요ㅜ |
|||
다음글 | constants 보안문제. (2) | ||
이전글 | Database 라이브러리 로드시 서버 동작 하지 않습... (6) | ||
한대승(불의회상)
/
2017/03/07 10:09:07 /
추천
0
공통함수는 어떻게 만드셨나요?
|
kaido
/
2017/03/07 10:12:47 /
추천
0
var_dump($board_type); 공통 함수에서 값 확인해 보세요. 값이 안들어가 있을 것입니다.
2가지 방법이 있습니다. 생성자안에 넣고 $this->board_type 객체로 접근.
$this->함수명($board_type); 으로 인자값으로 넘겨주기.
게시판 이름별로 구분을 주실거면 그냥 세그먼트에 넣고, 세그먼트 기준으로 _remap() 적용 하셔도 됩니다. |
소연신
/
2017/03/07 11:32:57 /
추천
0
@한대승 저 내용이 함수 내용이에요ㅜ @kaido 위에 저 내용으로 함수를 만들면 값은 못받고.. $board_type = $this->input->post('type', true); 이거는 기존 함수에 냄겨두고 밑에 조건부 부분만 빼서 하면 board_type, table 값 다 나옵니다. 근데.. 그 값을 기존 함수에서 인식을 못합니다.
function comcom($board_type) $board['lists'] = $this->Board_m->get_board_lists( echo json_encode($board); 일단 이렇게 해봤는데 밑에 board_lists_ajax()에서 $table을 인식못하거든요. 뭘 잘못했나요ㅜ 리턴을 안해도 안되고 해도 안되고.. $table을 따로 어디서 선언 해놔야 되는건지..생성자에선 안되구요ㅜ |
kaido
/
2017/03/07 11:53:38 /
추천
0
$table = $this->comcom($board_type);
받아오셔야죠 ㅎㅎ
추가 팁으로 function comcom($board_type) 이거를 function _comcom($board_type) 이렇게 $this->comcom($board_type); 이거를 $this->_comcom($board_type); 이렇게
하시는 편이 좋습니다. 외부에서 접근하지 못하는 내부 함수 라는 표시 입니다. 만일 누가 /board/common 이렇게 강제로 접근하면 이상한걸 보여주겠지요? ^^ |
한대승(불의회상)
/
2017/03/07 12:30:41 /
추천
0
라이브러리나 헬퍼로 분리해서 만드신건가요? 아니면 모델이나 컨트롤러에 분리해서 만드신건가요? |
소연신
/
2017/03/07 14:15:03 /
추천
0
@kaido 아ㅜ ㅋㅋㅋㅋㅋ 어이가 없네요 받아오지도 않고 쓰겠다고ㅜㅜ 감사합니다!
@한대승 컨트롤러 내에서 따로 분리한거 였습니다. kaido님 말씀대로 하니 잘 되네요.
근데 이거 만약에 다른 컨트롤러에서도 사용한다면 헬퍼로 빼서 사용해야 될까요? ....my_컨트롤러에 넣으니까 잘 되네요 ㅋㅋㅋ 점심먹고오느라ㅜ 답변 늦어 죄송합니다. 고맙습니다! |