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를 사용하는 것을 권장합니다.