posted by JakeYeom 2017. 11. 17. 13:26

3장. 컨트롤러 사용법과 유효 범위


컨트롤러 


=> 기능 : 애플리케이션의 전면에서 의사를 결정하는 주체 ( 요청처리, 라우팅, 브라우저에 렌더링 뷰 전송, 데이터베이스 업데이트 등등 )

     컨트롤러는 자신을 호출하는 주체에게 결과를 리턴한다 ( 모델, 헬퍼, 라이브러리 ,뷰를 통해 호출자에게 결과를 리턴 )

     

     사용시 지켜야할 것 : 사용자의 컨트롤러는 내장 CI컨트롤러를 반드시 상속하여 사용해야 한다.

      

     동작의 예시 : 1. 브라우저를 통해 URL을 참조, 2. AJAX 비동기요청을 처리




CI 컨트롤러의 유효 범위





사용자 정의 CI 컨트롤러


[컨트롤러의 작성]

  • 모든 컨트롤러는 프로젝트 디렉토리의 application/controller 에 위치힌다.
  • 컨트롤러가 사용할 수 있는 리소스 : application/helper ( 내장헬퍼, 사용자 정의헬퍼, 제3자 정의 헬퍼 ), application/models ( 테이블을 위해 작성한 사용자 정의 모델 ), application/libraries ( 내장, 사용자, 제3자 라이브러리 )
[컨트롤러 확장]
  • 헬퍼, 모델, 라이브러리 같은 리소스 로딩 : 모든 리소스에서 로딩할 수 있음. 성능 최적화를 위한 리소스로딩을 생각해야한다. ( 리소스로딩 예시 : $this->load->model('example_model');, $this->load->library('example_library', $example_array);, $this->load->helper('example_helper'); )
  • public과 private 메소드 추가 : PHP OOP의 원칙을 지키기 위해 사용
  • 컨트롤러 호출 : 컨트롤러는 CI 코어가 자동으로 생성한다. 메소드는  HTTP URL을 통해 호출한다. ( 호출방법 4가지 : index, 매개변수없음, 매개변수있음, AJAX)
[CI 컨트롤러의 용도]
  • 뷰 렌더링 : 데이터와 함께 뷰를 생성한 후 웹 어플리케이션에서 현재 세션에서 다음페이지 옮겨갈 수 있도록 뷰를 보여준다. ( 앵커태그를 이용해 다른 페이지로 이동 )
  • 브라우저의 AJAX 요청을 처리하는 컨트롤러 
  • 리눅스 크론 스케쥴러 서버의 요청을 처리하는 컨트롤러 ( 크론탭으로 원하는 반복작업을 설정할 수 있음 )


'백엔드 > CodeIgniter' 카테고리의 다른 글

CI. 4_라이브러리  (1) 2017.11.17
CI. 2_설정과 명명 규칙  (0) 2017.11.15
CI. 1_입문  (0) 2017.11.13