제목 | index에 case문 질문 | ||
---|---|---|---|
글쓴이 | 수야디벨 | 작성시각 | 2014/08/20 09:59:30 |
|
|||
포럼소스를 보고 질문드리는데 , 포럼소스는 index() 부분을 switch시켜서 분기시키더라구요? function index() { switch($this->uri->segment(2)) { case 'lists': $this->lists(); break; case 'view': $this->view(); break; case 'write': $this->write(); break; case 'delete': $this->delete(); break; case 'edit': $this->edit(); break; case 'reply_edit': $this->reply_edit(); break; case 'download': $this->download(); break; case 'move': $this->move(); break; default: $this->lists(); break; } } 근데 왜 굳이 저렇게 하는지 궁금합니다. 어차피 segment(2)에 해당 function이 들어가면 해당 function이 호출될텐데 .. (즉 도메인/컨트롤/view 하면 어차피 function view()가 호출될 것이고 , 컨트롤/lists 로 호출하면 어차피 function lists() 가 호출될터인데) 저렇게 index에서 분기하는 이유가 무엇일까요? |
|||
다음글 | 관리자페이지 (1) | ||
이전글 | 이미지 라이브러리 썸네일 만들기에서.. (2) | ||
변종원(웅파)
/
2014/08/20 10:08:22 /
추천
0
|
수야디벨
/
2014/08/20 10:13:56 /
추천
0
웅파//
그런거군요! ㅎㅎ 이제야 저 분기의 존재 이유를 알게되었네요~ :) |
kaido
/
2014/08/20 10:23:51 /
추천
0
아니요? 의미있습니다!
/cont/index /cont/ 이렇게 접근시에도 처리를 별도로 줄수 있습니다. 응용하면 /admin/bbs/lists /admin/bbs/write 이런식으로 분리를 해놓았는데 /admin/bbs/ 이렇게 접근한다거나~ 하면 처리 하는 부분이 필요하게 됩니다. |
수야디벨
/
2014/08/20 11:40:30 /
추천
0
/kaido
아 물론 index()의 존재는 이유가 있지요. 그런데 /admin/bbs/ 로 호출하면 어차피 index가 호출 됩니다. 따라서 index에는 switch로 분기할 필요없이 default 뷰만 지정해주면 되요. 어차피 /admin/bbs/ 만 호출하면 저걸로 호출할수 있는 페이지의 종류는 한개 일테니까요. 그러니 index에 저렇게 switch 해서 모두 분리하는건 불필요하고 default 페이지만 지정하면 된다고 생각합니다만.. |
switch문 내부에서 직접 분기 등등이 있었고 포럼소스로 바꾸면서 분기 부분이 빠진 겁니다.
(2009년 오픈 당시 거의 저 혼자 작업했던 터라 시간이 없어서 형태를 없애지 못하고 놔둔거죠. ㅋ)