[CI] CodeIgniter (코드이그나이터)의 정의와 동작원리

  • : 관리자
  • : 1,824
  • : 2016.12.22 15:19:48

1. CodeIgniter (코드이그나이터, 이하 CI) 란?

코드이그나이터PHP의 프레임워크 중 하나로 MVC 패턴을 지향하는 프레임워크이다.

다른 프레임 워크에 비해 가볍고 속도가 빠르다는 장점이 있으며
요구되는 PHP버전이 다른 프레임워크들보다 낮아 웹서버와의 호환성이 다른 프레임워크들보다 뛰어나다.

 

 

2. 배포 사이트

CI는 최초 EllisLab 에서 개발되었으나 현재는 British Columbia Institute of Technology 로 개발주체가 이전되었다.

 

출처http://www.codeigniter.com/

배포http://www.codeigniter.com/download

문서http://www.codeigniter.com/docs

 

 

3. CI가 지원하는 기능들

다음 기술들은 코드이그나이터 메뉴얼에서 발췌한 코드이그나이터가 지원하는 기능 목록입니다.

 

  • #모델-뷰-컨트롤러 기반
  • #엄청 가벼움
  • #여러플렛폼을 지원하는 완벽한 데이터베이스 클래스들.
  • #쿼리 빌더 지원
  • #폼과 데이터의 검증
  • #보안과 XSS 필터링
  • #세션 관리
  • #Email 전송클래스. 첨부파일지원.HTML/Text 지원.다양한프로토콜 지원(sendmail, SMTP, and Mail) 등.
  • #이미지 관리 라이브러리(자르기,크기조절,돌리기 등).GD , ImageMagick, NetPBM 지원
  • #파일업로드(File Uploading Class)
  • #FTP 클래스
  • #로컬라이즈
  • #페이지네이션
  • #데이터 암호화
  • #벤치마킹
  • #전체 페이지 캐싱
  • #에러로깅
  • #성능측정
  • #달력(Calendaring Class)
  • #User Agent 클래스
  • #Zip 인코딩(Zip Encoding Class)
  • #템플릿엔진 클래스
  • #트랙백(Trackback Class)
  • #XML-RPC Library
  • #단위테스트(Unit Testing Class)
  • #검색엔진에 색인되기 좋은 URLs
  • #유연한 URI 라우팅
  • #후킹,클래스확장 지원
  • #방대한 헬퍼 라이브러리

 

 

4. CI의 동작 이해

 

index.php 프론트 콘트롤러로 동작하여 CI가 동작하기 위한 기반리소스들을 초기화 한다.
Routing http요청을 분석하여 수행할 동작을 결정한다.
Caching Caching 파일이 있으면 요청을 중단하고 Caching 파일을 제출하고 요청을 종료한다.
Security 보안모듈로 프로그램 컨트롤러가 로딩되기전 http 요청 및 사용자 전송데이터를 필터링한다.
Application
Controller
사용자 모델을 처리하기 위한 모델을 로드하고 코어라이브러리, 헬퍼 및 그외 추가로 필요한 리소스들을 호출한다.
View 사용자 요청이 최종적으로 처리되면 View모듈이 랜더링되어 브라우져로 전송된다.
만약 Caching이 활성화 되어있다면 Caching 파일이 생성되어 동일한 다음 요청시 Caching 파일을 제출한다.

 

 

▲ 이전글 └ Re :[ZF1] Zend Framework (젠드 프레임워크) 설치하기 (v.1.11.2)(1)
▼ 다음글 └ Re :[CI] CodeIgniter (코드이그나이터) 설치하기(2)

목록

댓글0