CodeIgniter

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

CodeIgniterPHP로 작성된 웹 프레임워크이다. MVC 모델 방식을 사용하고 있다.

1 특징[편집]

  1. 비교적 빠른 속도
  2. 기본 모듈의 확장 지원
  3. 느슨한 MVC 모델 (Model이 반드시 존재할 필요가 없다.)
  4. 별도로 작성된 Database Class

2 동작 흐름[편집]

CodeIgniter Application Flow Chart

  1. 모든 URL은 index.php에 접근한다. .htaccess 파일을 편집하여 URL에 index.php를 제거하고 사용한다.
  2. Routing 모듈이 URL을 분석하여 조건에 맞는 경우 URL을 변경한다.
  3. Cache 모듈에 URL에 맞는 파일이 있는지 판단하고, 있는 경우 바로 결과 값을 반환한다.
  4. Security 모듈에 의하여 입력된 모든 값을 필터링 한다.
  5. 최종적으로 분석된 URL의 정보를 사용하여 해당 Controller를 호출한다.
  6. Controller에서 기본적으로 지원하는 모듈(Core/Helper)를 사용할 수 있다.
  7. View에 파일 및 데이터를 전달하여 적절한 처리를 한다.
  8. Cache 여부에 따라 Cache 처리 후 사용자에게 반환한다.

3 지원 라이브러리[편집]

  • Class
    1. Benchmark - 특정 구간의 실행 속도, 메모리 사용량, 전체 실행 시간 등의 정보 제공
    2. Calendaring
    3. Shopping Cart (DEPRECATED)
    4. Config - 환경설정 값에 대한 접근
    5. Email - Email 전송 관련
    6. Encrypt (DEPRECATED)
    7. File Uploading - 파일 업로드
    8. Form Validation - 폼 값 검증
    9. FTP - FTP 접근
    10. Image Manipulation - 이미지 편집
    11. Input - $_GET, $_POST 등 사용자 입력 값 관련 필터링 지원 (Security Class에 의하여)
    12. Javascriptt (DEPRECATED)
    13. Language - 다국어 지원
    14. Loader - Controller, View 등 로딩 관련
    15. Migrations - 프로그램이 업데이트 되었을 때 수행해야할 작업을 지원하는 Class
    16. Output - 출력 관련
    17. Pagination - 페이징 출력 관련
    18. Template Parser - 자체 템플릿 문법 지원
    19. Security - 기본적인 XSS 필터링 등 보안 관련 Class
    20. HTML Table - HTML 표 작성 관련
    21. Trackback
    22. Typography
    23. Unit Testing
    24. URI - URL 분석 및 작성 관련
    25. User Agent
    26. XML-RPC / XML-RPC Server
    27. Zip Encoding - ZIP 파일 압축 관련
  • Driver
    1. Caching - File 기반 / Memcache 등 외부 Cache 프로그램과의 연동
    2. Database
  • Library
    1. Encryption - 구 Encrypt Class의 확장
    2. Session - 확장된 세션 관리

4 각주