CI 묻고 답하기

제목 게시판 만드는중 질문드립니다.
글쓴이 책상다리 작성시각 2014/01/08 17:01:39
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 12648   RSS
게시판 작성중에 문득 제가 mvc를 무시하고 개발하고 있는게 아닌가 생각이 들어서...질문드립니다;;;;
아 정확히는 게시판은 아니고, 회원정보인데, 

간단하게 소스 하나만 예로들면

if($numSex == "1" || $numSex == "3") $sexKor = "남";
else if($numSex == "2" || $numSex == "4") $sexKor = "여";

성별을 결정하는 남,여로 출력하는 $sexKor에 관한 부분입니다만,
이걸 뷰쪽에 적어서 사용하고 있는데, mvc에서 볼때 이건 여기다 적는게 아니지 않나 하는 생각이 들어서요;;;;
CI에서는 이런게 있을땐 어떻게 처리하나요.
혹은 view에 적어줘도 되는지...생각해보니 이런게 많아지면 소스가 굉장히 지저분해지지 않을까 생각이되서요.
혹은 그냥 include로 처리하나요?
 다음글 안녕하세요.. 코드이그나이트 설치 방법 질문입니다. (2)
 이전글 calendar 관련해서 질문드립니다 (6)

댓글

변종원(웅파) / 2014/01/08 17:06:48 / 추천 0
db에서 가져올때 처리할 수 있습니다. ^^
한대승(불의회상) / 2014/01/08 17:07:43 / 추천 0
정답은 없습니다.

하지만 MVC 룰을 지키고 싶고 깔끔한 소스를 만들고 싶다면 컨트롤러에서 뷰로 데이터를 넘기기 전에 처리해 주는게 좋겠죠.

*컨트롤러
if($numSex == "1" || $numSex == "3") $data['sexKor'] = "남";
else if($numSex == "2" || $numSex == "4") $data['sexKor'] = "여";

$this->load->view('test', $data);

*뷰
<?php echo $sexKor; ?>

 
책상다리 / 2014/01/08 17:16:11 / 추천 0
변종원님 // 좀더 mvc에 대해 공부해야겟습니다. 편하고 좋은데, mvc의 룰이 어디까지 일까 고민할때가 있네요;

한대승님 // 감사합니다. 확실히 컨트롤러 쪽에서 처리해서 보내주는게 깔끔할거 같네요. 감사합니다.
들국화 / 2014/01/08 17:51:48 / 추천 0
저도 그냥 급한데로 처리하는데요. 잠시 생각해 보면...
쿼리로 하면 case문 써야 하니 좀 복잡해 질거 같구요.... 하지만 성능 면에서는 제일 좋을듯 하네요.
컨트롤에서 하면 로직도 들어가고 한번 loop를 돌아야 하는 것도 문제가 될것 같구요.
뷰에서 제어문으로 하는것 말고 간단히 helper같은걸로 변환하는 함수로 처리하는 방법도 있을듯 하네요. 이렇케 하면 다국어 처리나 일괄 변환할때도 편리 하지 않을까 하네요....
책상다리 / 2014/01/08 17:58:00 / 추천 0
들국화님 // 아 헬퍼로 처리하는것도 좋은방법 같습니다. 라이브러리쪽만 생각하고 있었는데, 음..창의력이 후달리나...(__)