CodeIgniter 기초
CodeIgniter는 가볍고 빠른 PHP 웹 프레임워크입니다. "제로 설정에 가까운(nearly zero configuration)" 철학을 기반으로 하여 개발자가 빠르게 웹 애플리케이션을 만들 수 있도록 돕습니다.
개요
CodeIgniter는 PHP로 개발된 MVC(Model-View-Controller) 패턴 기반의 프레임워크입니다. 다른 프레임워크에 비해 학습 곡선이 낮고, 풍부한 문서와 뛰어난 성능을 자랑합니다. 특히 설정 파일의 복잡성이 적어 간단한 웹 프로젝트나 소규모 프로젝트에 적합합니다.
참고
CodeIgniter는 PHP 버전 7.4 이상을 권장하며, Composer를 통해 설치할 수 있습니다. 현재는 CodeIgniter 4가 최신 버전입니다.
MVC 패턴
CodeIgniter는 웹 애플리케이션의 구조를 체계적으로 분리하기 위해 MVC 디자인 패턴을 사용합니다. 각 구성 요소의 역할은 다음과 같습니다:
요소 | 설명 |
---|---|
Model |
데이터베이스와 관련된 로직을 담당합니다. 데이터 조회, 삽입, 수정, 삭제 등의 작업을 처리합니다. |
View |
사용자에게 보여지는 화면(HTML, CSS 등)을 담당합니다. 비즈니스 로직은 포함하지 않습니다. |
Controller |
사용자의 요청을 받아 모델과 뷰를 연결하는 역할을 합니다. URL에 따라 적절한 모델을 호출하고, 그 결과를 뷰에 전달합니다. |
주요 기능
CodeIgniter가 제공하는 주요 기능은 다음과 같습니다:
- 가벼운 구조: 필요한 라이브러리만 로드하여 프레임워크 자체의 부담이 적고 실행 속도가 빠릅니다.
- 간단한 라우팅: URL 구조를 통해 직관적으로 컨트롤러에 접근할 수 있습니다.
- 보안 기능: CSRF 보호, XSS 필터링 등 웹 보안을 위한 기본 기능들을 내장하고 있습니다.
- 데이터베이스 추상화: 다양한 데이터베이스 드라이버를 지원하며, SQL 쿼리를 직접 작성하지 않고도 데이터를 다룰 수 있는 Active Record 패턴을 제공합니다.
사용 예제
간단한 "Hello, CodeIgniter!" 메시지를 출력하는 컨트롤러와 뷰 예제입니다.
PHP (app/Controllers/Home.php)
<?php namespace App\Controllers; use CodeIgniter\Controller; class Home extends Controller { public function index() { $data['title'] = 'CodeIgniter 기본'; return view('welcome_message', $data); } } ?>
HTML (app/Views/welcome_message.php)
<!DOCTYPE html> <html> <head> <title><?= $title ?></title> </head> <body> <h1>Hello, CodeIgniter!</h1> </body> </html>
주의사항 및 팁
- CodeIgniter는 다른 프레임워크에 비해 상대적으로 규모가 작은 프로젝트에 더 적합할 수 있습니다.
- 개발 환경 설정이 간단하므로, PHP 웹 프레임워크를 처음 접하는 개발자에게 좋은 시작점이 될 수 있습니다.
- 공식 문서가 잘 정리되어 있어, 학습 자료로 활용하기 좋습니다.
주의
CodeIgniter 3과 CodeIgniter 4는 구조와 문법에 큰 차이가 있습니다. 새로운 프로젝트를 시작할 때는 반드시 최신 버전인 CodeIgniter 4를 사용하는 것을 권장합니다.