CI 묻고 답하기

제목 초보
글쓴이 아리코스미 작성시각 2016/09/02 13:48:46
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 14942   RSS

CI를 시작한지 얼마 안됬습니다만

궁금한게 있는데 왜  라우트에 Index 로 지정하고

 

1. 왜 controller에 index.php  , Index 클래스 , index 생성자함수를 만들어서 echo를 찍으면

두번찍히는건가요?

 

2. 그리고 controller에 컨트롤러 파일은 하나만 존재해야만 하는건가요? 아닌가요?

만약 아니다면 어떠한경우에 다중 컨트롤러 파일이 필요한 경우가 생기는 건가요?

만약에 controller를 다중으로 사용했을 경우 다른 컨트롤러의 public함수도 참조가 가능한건가요?

 

3. 그리고 컨트롤러든 모델이든 파일명은 대문자로 시작하든 아니든 상관없고,

  클래스는 무조건 대문자여야만 하는건가요?

 

4. 제가 이해한 부분인데요. 컨트롤러에서 db관련 및 프로그램단 부분을 모델에서 정의하고

컨트롤러는 모델부분에서 구현된 함수를 받아서 뷰에 뿌려주는 역활을하는게 맞는 건가요?

 

5. 뷰부분에서 폴더로 그룹화해서 관리하려면 어떻게 해야되나요?

메뉴얼에서는 파일 참조형식만나오는데 만약에 view폴더에 member/member_form.php 를 만들었다고 가정했을 경우나

(뷰부분은 상관없을 것같습니다.. 주소에서 뷰를 참조하지 않기때문에.. )

모델부분에서 model/member_model.php를 만들었을때 컨트롤러에서 어떤방식으로 참조를 하는지도 좀 궁금합니다.

아직은 php의 paging방식의 흐름에 대하여 잘 알진 못합니다만, 왜 view에서 컨트롤러나 모델의 함수 접근을 못하는건지

이해가 안갑니다.

 

6. 에디터플러스는 코드힌트 같은게 없는데 추천해주실만한 php ide툴 추천 좀 부탁드립니다.

 

 다음글 혹시 form helper를 통해 정보를 각각 다른 두... (1)
 이전글 javascipt의 연관 배열을 뷰페이지로 보낼려면 어... (3)

댓글

kaido / 2016/09/02 14:15:46 / 추천 0

1. 그건 보지 않는 이상 정확히 이렇다라고 답변이 어렵습니다. [ CI에서 굳이 2번 출력을 하진 않습니다.]

2. 컨트롤러로 나눈 이유중 하나는 분리해서 관리 하기 위해서 입니다.

가령 회원 관련 컨트롤러를 사용하고 싶다면 Member.php 

게시판 관련을 관리하고 싶다면 Board.php

이렇게 나눠놓고 안 쪽에서 다시 세부적으로 나누는 것입니다. 유지보수의 편리성을 위해서 이죠.

 

3. 네. 클래스는 원래 첫 문자가 대문자 규칙입니다. java 쪽은 이 규칙 안 지키면 에러부터 뱉고 봅니다.

4. 네 맞습니다. 참 번거롭죠? 한 페이지 만드는데 3번 작업 하시는 기분 들겁니다. 처음엔 이해하기 어렵지만 계속 하다 보면 이해 되실 날이 올것입니다.

5. 그룹으로 묶는 방법은 없고 그렇게 보이게 만드는 것 입니다. views 폴더 밑에 member 폴더를 만들어 놓고 member에 관련된 파일들을 넣으시면 됩니다.

연관성이 있도록 네이밍을 동일하게 만드는 것이죠.

컨트롤러  Member.php

모델 Member_m.php

뷰 Member_v.php

이렇게 만들면 이게 전부 관련된 파일임을 직관 할 수 있으니깐요.

 

6. 에디터 툴은 개인취향이 강해서. 저는 브라켓 사용합니다.

아리코스미 / 2016/09/02 14:18:29 / 추천 0
궁금한 점에 대해 답변해주셔서 정말 감사드립니다. ^ ^ 감사합니다!