CodeIgniter | |
---|---|
소프트웨어 정보 | |
원작자 | EllisLab |
개발 | British Columbia Institute of Technology |
종류 | 웹 애플리케이션 프레임워크 |
출시 | 2006년 2월 28일 |
최신버전 |
3.0 2015년 3월 30일 |
상태 | 지원 중 |
언어 | 다국어 |
운영체제 | PHP 가능 환경 |
엔진 |
PHP 5.4 이상 (3.0) PHP 5.1.6 이상 (2.1~) |
작성언어 | PHP |
라이선스 |
MIT (3.0) OLS v3 (2.x) |
웹사이트 | http://codeigniter.com |
CodeIgniter는 PHP로 작성된 웹 프레임워크이다. MVC 모델 방식을 사용하고 있다.
특징[편집 | 원본 편집]
- 비교적 빠른 속도
- 기본 모듈의 확장 지원
- 느슨한 MVC 모델 (Model이 반드시 존재할 필요가 없다.)
- 별도로 작성된 Database Class
동작 흐름[편집 | 원본 편집]
- 모든 URL은 index.php에 접근한다. .htaccess 파일을 편집하여 URL에 index.php를 제거하고 사용한다.
- Routing 모듈이 URL을 분석하여 조건에 맞는 경우 URL을 변경한다.
- Cache 모듈에 URL에 맞는 파일이 있는지 판단하고, 있는 경우 바로 결과 값을 반환한다.
- Security 모듈에 의하여 입력된 모든 값을 필터링 한다.
- 최종적으로 분석된 URL의 정보를 사용하여 해당 Controller를 호출한다.
- Controller에서 기본적으로 지원하는 모듈(Core/Helper)를 사용할 수 있다.
- View에 파일 및 데이터를 전달하여 적절한 처리를 한다.
- Cache 여부에 따라 Cache 처리 후 사용자에게 반환한다.
지원 라이브러리[편집 | 원본 편집]
- Class
- Benchmark - 특정 구간의 실행 속도, 메모리 사용량, 전체 실행 시간 등의 정보 제공
- Calendaring
- Shopping Cart (DEPRECATED)
- Config - 환경설정 값에 대한 접근
- Email - Email 전송 관련
- Encrypt (DEPRECATED)
- File Uploading - 파일 업로드
- Form Validation - 폼 값 검증
- FTP - FTP 접근
- Image Manipulation - 이미지 편집
- Input - $_GET, $_POST 등 사용자 입력 값 관련 필터링 지원 (Security Class에 의하여)
- Javascriptt (DEPRECATED)
- Language - 다국어 지원
- Loader - Controller, View 등 로딩 관련
- Migrations - 프로그램이 업데이트 되었을 때 수행해야할 작업을 지원하는 Class
- Output - 출력 관련
- Pagination - 페이징 출력 관련
- Template Parser - 자체 템플릿 문법 지원
- Security - 기본적인 XSS 필터링 등 보안 관련 Class
- HTML Table - HTML 표 작성 관련
- Trackback
- Typography
- Unit Testing
- URI - URL 분석 및 작성 관련
- User Agent
- XML-RPC / XML-RPC Server
- Zip Encoding - ZIP 파일 압축 관련
- Driver
- Caching - File 기반 / Memcache 등 외부 Cache 프로그램과의 연동
- Database
- Library
- Encryption - 구 Encrypt Class의 확장
- Session - 확장된 세션 관리