제목 | 디비에서 읽어온 디비를 가공할때 컨트롤러에서 하는것이 맞는건가요? | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 칸이 | 작성시각 | 2017/09/22 01:16:59 |
|
|||
막코딩만 하다가, 요새 CI 열심히 공부하면서 사용하고 있습니다. 그러다 궁금한것이 생겼습니다. 막 코딩에서 코드 사용시 <? foreach($data as $entry) { $title = htmlspecialchars($entry->title); $date = date("Y-m-d", $entry->date); ?> <li><?=$title?></li> <li><?=$date?></li> <? } ?> 이처럼 사용했습니다.. 그런데 CI에서는 컨트롤러에서 <? $data = $this->board_model->gets(); $this->load->view("list", array("data"=>$data)); ?> 이처럼 해 주었을때.. view에서 받아서 데이타를 가공을 해야 하는지? 아니면 컨트롤러에서 데이타를 가공한후, 다시 배열로 담아서 그냥 view에서 출력만 해 주어야 되는지.. 고민이 되고 있습니다..
위 예는 간단히 기술한 것인데.. 컨트롤러에서 1차적으로 루프 한번 돌려서 가공하고.. 다시 view에서도 루프 돌려서 출력하고.. 두번을 하게 되는데.. 데이타 가공이 많거나, 루프가 많이 돌아가게 되면.. 단순히 무시해서는 안될거 같다는 생각이 들어서요..
다른 분들은 어떻게 처리하나요? 그래도 컨트롤러에서 처리후 view로 넘기는지, 적절히 뷰에서도 데이타 가공이나 기타 처리를 하는지 궁금합니다. 알려주시면 감사하겠습니다..
|
|||
다음글 | sendmail 웹에서 메일이 가지 않아요 (5) | ||
이전글 | insert on duplicate update ret... (1) | ||
한대승(불의회상)
/
2017/09/22 09:03:34 /
추천
0
|
칸이
/
2017/09/22 09:51:03 /
추천
0
답변 감사합니다.. 모델에서 처리하는군요.. 조언 감사합니다. 어디에서 처리할지 생각하는것도 일이네요.. ㅡ.ㅜ;
그리고 shorttag를 on 시켜도, CI에서는 일부 코드내에서 <?php 가 되어 있지 않을 경우 오류를 발생시키는거 같던데.. 맞는지요? 다시 한번 알려주시면 감사하겠습니다.
|
데이터 가공은 모델에서 하는게 좋습니다.
컨트롤러는 모델과 뷰를 연결하는 부분이므로 데이터 가공에 참여하지 않는게 좋습니다.
뷰는 데이터를 표현하는 부분입니다.
모델에서 넘겨 받은 데이터를 html, json, pdf, 이미지(jpg, png...) 로 변환해야 한다면 뷰에서 처리하는게 좋습니다.
이렇게 역할을 나누는 이유는 모듈의 재사용성을 높이기 위해서 입니다.
PS. <? 는 사용하지 마시고 <?php 를 사용하세요.