CI 묻고 답하기

제목 기본적인 질문입니다.
글쓴이 제닉 작성시각 2011/02/19 04:17:31
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 17998   RSS
안녕하세요.

기본적인 질문입니다. 코드이그나이터를 사용하면서 컨트롤러에서 모델을 이용해서 데이터베이스에서
정보를 긁어서 오는데.. 모델에서 리턴을 할때 array이가 아닌 User나 Business등 클래스를 만들어서
클래스 인스턴스를 리턴하고 싶습니다. 이런 일을 하기위한 기능이 혹시 있나요? 아니면 그냥 따로
제가 만든 클래스들을 include해서 사용해야하는 건가요. 코드이그나이터에 이미 기능이 있으면 최대한
사용하고 싶어서요.

또 다른 질문은 유저 로그인을 처리할때 어떤식으로 관리를 하시나요? 예를 들면 로그인을 할때 유저 정보
(유저 아이디라던가 유저네임이라던가, 또는 모든 정보를) 쿠키/세션으로 저장해 놓고 매번 새로운 뷰가
로딩 될때 유저 정보를 프린트하거나 확인해야 할 일이 있으면 그 정보를 이용해서 데이터베이스에서 항상
불러와서 관리를 하시나요? 아니면 위에 여쭤본것 처럼 예를 들어 User 클래스 인스턴스에 저장을 해놓고
그것을 이용하거나 그렇게 하는 방법이 있나요? 어떤것이 더 효율적이고 좋은 방법일까요?

감사합니다.
 다음글 #(sharp)가 들어간 uri (4)
 이전글 mssql 연결해서 사용시에 limit 문제 (2)

댓글

제닉 / 2011/02/19 04:36:49 / 추천 0

아 제가 좀 급하게 질문을 쓰느라 제대로 질문을 마무리를 못한거 같아 추가적으로 씁니다. 두번째 질문에서 뷰에서 로직을 처리하게 되면 MVC 컨셉에서 벗어나게 되는것이고 그것만 해주는 컨트롤러를 만든다고 해도 컨트롤러 내에서 다른 컨트롤러를 부르는 것은 방법은 있으나 좋지 않은 프랙티스라고 알고 있습니다. 그럼 새로운 라이브러리를 추가하는 것으로 이 문제를 해결하는 방법이 있을까요?

감사합니다.

변종원(웅파) / 2011/02/19 17:30:36 / 추천 0

codeigniter의 라이브러리는 class입니다.
라이브러리 등록해서 사용하시면 될 것 같구요.

항상 일정량(혹은 많은 양)의 데이터를 지속적으로 뿌려주는 경우라면
hook을 이용하여 상수에 배열을 담는 형태로 사용하셔도 될 것 같네요.

그런데 어차피 hook을 이용하던, 모델에서 가져오던 데이터베이스 access는 일어나게 됩니다.
통상적으로 모델에서 처리를 하고 라이브러리화까지는 하지 않고 사용하고 있습니다.

답변을 쓰면서도 아직 정확한 질문의 의도를 파악하지 못해서 답변이 원하시는 방향과
다를 수 있습니다.