CodeIgniter는 PHP로 작성된 경량 웹 애플리케이션 프레임워크로, MVC(Model-View-Controller) 패턴을 기반으로 작동합니다. 주요 작동 원리를 설명하겠습니다.
1. URI 라우팅 (Routing)
CodeIgniter는 사용자가 요청한 URI를 분석하여 어떤 컨트롤러와 메서드를 호출할지 결정합니다. routes.php 파일에서 경로를 정의할 수 있으며, 기본적으로 URL의 첫 번째 세그먼트가 컨트롤러, 두 번째가 메서드를 나타냅니다.
2. 컨트롤러 (Controller)
사용자 요청이 들어오면 CodeIgniter는 해당 요청을 처리할 컨트롤러를 호출합니다. 컨트롤러는 애플리케이션의 중심부로, 모델과 뷰를 관리하고, 요청을 받아 데이터를 처리한 후 사용자에게 결과를 반환하는 역할을 합니다.
3. 모델 (Model)
모델은 데이터베이스와의 상호작용을 담당합니다. CodeIgniter에서 모델은 데이터베이스에서 데이터를 읽거나 쓰는 기능을 수행하며, 컨트롤러에서 모델을 호출하여 필요한 데이터를 가져오거나 저장할 수 있습니다.
4. 뷰 (View)
뷰는 사용자에게 보여지는 부분을 관리합니다. 컨트롤러가 처리한 데이터를 시각적으로 표현하며, HTML, CSS, JavaScript 등을 포함할 수 있습니다. CodeIgniter에서 뷰는 view() 함수를 통해 호출되며, 데이터를 전달받아 출력하게 됩니다.
5. 라이브러리 및 헬퍼 (Libraries and Helpers)
CodeIgniter는 기본적으로 자주 사용되는 기능을 라이브러리와 헬퍼로 제공합니다. 예를 들어, 세션, 파일 업로드, 폼 검증 등의 기능이 내장되어 있어 개발자가 쉽게 사용할 수 있습니다. 필요에 따라 추가 라이브러리나 헬퍼를 로드하여 사용할 수 있습니다.
6. 후킹 및 확장 (Hooks and Extensions)
CodeIgniter는 후킹 시스템을 제공하여 프레임워크의 특정 지점에서 커스텀 기능을 삽입할 수 있게 합니다. 이는 애플리케이션 초기화 전후, 컨트롤러 호출 전후 등의 다양한 시점에서 실행되도록 설정할 수 있습니다.
7. 실행 순서
- 애플리케이션 초기화: index.php 파일에서 모든 요청이 시작됩니다.
- 라우팅: URI를 기반으로 호출할 컨트롤러와 메서드를 결정합니다.
- 컨트롤러 호출: 요청이 들어오면 컨트롤러가 실행됩니다.
- 모델 호출: 필요 시 컨트롤러는 모델을 호출하여 데이터를 처리합니다.
- 뷰 렌더링: 컨트롤러가 데이터를 뷰에 전달하여 사용자에게 보여줍니다.
CodeIgniter는 이러한 간단한 구조로 작동하며, 빠른 개발이 가능하도록 설계된 프레임워크입니다.
'Codeigniter' 카테고리의 다른 글
Codeigniter 의 폴더설명 (0) | 2024.11.13 |
---|