반응형
1. 사이트 접속
2. 라우터에 의해 default_controller 는 Config 클래스의 site() 메서드 실행
3. widget head 실행 head 쪽 html은 열린상태

4. 다시 돌아와서 skin/config/site.html 로드
1~3 은 헤더라고 보면 되고
4는 말 그대로 사이트 블럭 관련 렌더링
- config.php 파일의 site() 메서드 실행.
- site() 메서드에서 @widget::run('head', $head) 호출.
- widget 클래스의 head.php가 실행되고, 내부적으로 head.html 파일을 로드.
- 다시 **config.php**로 돌아와서 $this->load->view('config/site', $data) 호출.
- config/site.html 파일이 로드됨.
CodeIgniter에서 사이트 렌더링 과정
1. 사이트 접속
- 사용자가 브라우저에서 URL을 입력하여 사이트에 접속합니다.
- 예: http://example.com
2. 라우터에 의해 컨트롤러 결정
- CodeIgniter의 라우터가 URL을 분석하여 실행할 컨트롤러와 메서드를 결정합니다.
- routes.php 파일에서 설정된 default_controller에 따라 Config 컨트롤러의 site() 메서드가 실행됩니다.
3. 헤더 렌더링
- Config::site() 메서드 실행:
- config.php 파일의 site() 메서드가 실행됩니다.
- 이 메서드에서 헤더를 렌더링하기 위해 다음 코드가 호출됩니다:
- Widget::run('head', $head) 호출:
- Widget 클래스의 run() 메서드가 실행됩니다.
- 이 메서드는 head.php 파일의 index() 메서드를 호출합니다.
- head.php의 index() 메서드 실행:
- head.php의 index() 메서드에서 데이터를 준비하고, 다음 코드로 헤더 뷰 파일을 로드합니다:
- _head.html 뷰 파일이 로드되어 헤더가 렌더링됩니다.
- head.php의 index() 메서드에서 데이터를 준비하고, 다음 코드로 헤더 뷰 파일을 로드합니다:
4. 본문 렌더링
- Config::site()로 돌아옴:
- 헤더 렌더링이 완료된 후, config.php의 site() 메서드로 돌아옵니다.
- 본문 뷰 파일 로드:
- 다음 코드가 실행되어 본문 뷰 파일이 로드됩니다:
- site.html 뷰 파일이 로드되어 사이트의 블록 관련 콘텐츠가 렌더링됩니다.
- 다음 코드가 실행되어 본문 뷰 파일이 로드됩니다:
5. 푸터 렌더링 (선택적)
- 필요에 따라 푸터를 렌더링하기 위해 다음 코드가 실행될 수 있습니다:
- tail.php 위젯이 실행되어 푸터가 렌더링됩니다.
전체 흐름 요약
- 사이트 접속:
- 사용자가 URL을 입력하여 사이트에 접속합니다.
- 라우팅:
- 라우터가 Config 컨트롤러의 site() 메서드를 실행합니다.
- 헤더 렌더링:
- @widget::run('head', $head) 호출 → head.php 실행 → _head.html 뷰 파일 로드.
- 본문 렌더링:
- $this->load->view('config/site', $data) 호출 → site.html 뷰 파일 로드.
- 푸터 렌더링 (선택적):
- @widget::run('tail', $tail) 호출 → 푸터 위젯 실행.
헤더와 본문의 역할
- 헤더:
- head.php와 _head.html에서 처리.
- 사이트의 공통 레이아웃(메타 태그, CSS, JS, 네비게이션 등)을 렌더링.
- 본문:
- site.html에서 처리.
- 사이트의 블록 콘텐츠와 렌더링 관련 데이터를 출력.
결론
CodeIgniter는 라우터를 통해 컨트롤러와 메서드를 결정하고, 위젯과 뷰를 순차적으로 호출하여 헤더, 본문, 푸터를 렌더링합니다. 이 구조는 MVC 패턴과 위젯 시스템을 활용하여 코드의 재사용성과 유지보수성을 높이는 방식입니다.
반응형
'웹 > PHP' 카테고리의 다른 글
| PHP strpos 내장함수 - 지정한 문자열 안에서 특정 문자열의 처음 위치를 찾아 반환하는 함수 (2) | 2025.05.08 |
|---|---|
| 훅 - 전역 변수 MEMBER 사용방법 (1) | 2025.04.28 |
