
PHP 프레임워크 – CodeIgniter – 소개
안녕하세요~ 😄
오늘은 PHP 프레임워크 중에서도 가볍고 빠르기로 유명한 CodeIgniter에 대해 소개드릴게요.
다양한 PHP 프레임워크들이 존재하지만, CodeIgniter는 마치 **’오토바이처럼 민첩하게 달리는 웹 프레임워크’**라고 보시면 돼요! 🏍️
웹 초보자부터 숙련된 개발자까지, 누구나 손쉽게 접근할 수 있도록 구성된 이 프레임워크를 지금부터 하나하나 살펴볼게요!
CodeIgniter란 무엇인가요?
**CodeIgniter(코드이그나이터)**는 PHP로 개발된 오픈소스 웹 애플리케이션 프레임워크입니다.
MVC 아키텍처를 기반으로 빠른 성능과 적은 자원 소모를 목표로 만들어졌어요.
주요 특징 요약:
특징 | 설명 |
---|---|
초경량 프레임워크 | 설치 후 바로 실행 가능, 작고 가볍습니다. |
학습 곡선이 낮음 | 초보자도 쉽게 배우고 사용할 수 있어요. |
빠른 실행 속도 | 복잡한 구성 없이도 매우 빠른 응답속도 제공 |
MVC 구조 지원 | 깔끔한 코드 구조, 유지보수에 유리 |
문서화 우수 | 공식 문서가 매우 잘 정리돼 있어 학습에 유리 |
자동 로딩 최소화 | 필요한 것만 가져다 쓰는 스타일 (Lazy loading) |
CodeIgniter의 역사 간단 정리
- 2006년 EllisLab에서 최초 출시
- 2014년 이후 **British Columbia Institute of Technology (BCIT)**가 유지보수 주체
- 현재는 CodeIgniter 4.x 버전이 최신이며, PHP 7.2 이상을 지원
CodeIgniter가 사랑받는 이유는?
🎯 가볍고 빠르다!
→ Laravel 같은 무거운 프레임워크는 서버 자원을 많이 소모하지만, CodeIgniter는 굉장히 가볍고 로딩 속도가 빠르답니다.
🧠 쉽게 배우고 금방 개발할 수 있다!
→ 디렉토리 구조도 단순하고, 클래스를 바로 불러와 쓸 수 있기 때문에 진입 장벽이 낮아요.
📦 설치가 정말 간단하다!
→ 단순히 폴더를 복사하고, URL 설정만 조금 해주면 바로 실행 가능해요. Composer 설치도 선택사항일 정도죠.
🔧 제약이 적다!
→ 개발자가 원하는 방식대로 커스터마이징이 가능하며, 필수적인 설정이 거의 없어서 자유도가 높아요.
CodeIgniter의 기본 아키텍처 (MVC)
CodeIgniter는 MVC(Model-View-Controller) 구조를 따릅니다.
- Model: 데이터베이스와의 통신 (데이터 읽기, 쓰기 등)
- View: 사용자에게 보여지는 화면 (HTML + PHP)
- Controller: Model과 View를 연결하는 역할 (요청/응답 처리)
[사용자 요청] → Controller → Model ↔ Database
↓
View 생성 → [응답 반환]
예를 들어, 사용자가 /products
페이지를 요청하면,
ProductController
가 호출되고,ProductModel
을 통해 DB에서 제품 목록을 조회하고,products_view.php
로 그 결과를 보여주는 구조예요.
CodeIgniter 3 vs CodeIgniter 4
항목 | CodeIgniter 3 | CodeIgniter 4 |
---|---|---|
PHP 지원 | PHP 5.6 이상 | PHP 7.2 이상 |
네임스페이스 | ❌ 없음 | ✅ 지원 |
PSR-4 오토로딩 | ❌ | ✅ |
Composer | 부분 지원 | 완전 지원 |
구조 | 간단 | 모듈화 가능 |
성능 | 빠름 | 더 빠름 및 안전함 |
지금 시작하신다면 무조건 CodeIgniter 4를 추천드려요!
CodeIgniter는 어떤 프로젝트에 어울릴까요?
🟢 잘 맞는 프로젝트:
- 간단한 CRUD 기반 웹 애플리케이션
- 빠르게 만들어야 하는 내부용 툴
- 가벼운 API 서버
- 라이트한 블로그, 포트폴리오 사이트
🔴 어울리지 않는 프로젝트:
- 매우 복잡한 비즈니스 로직이 많은 프로젝트
- 무겁고 방대한 마이크로서비스 아키텍처
- 초대형 커머스 플랫폼 (Laravel, Symfony 권장)
CodeIgniter의 실제 코드 맛보기
// app/Controllers/Hello.php
namespace App\Controllers;
class Hello extends BaseController
{
public function index()
{
return view('hello_world');
}
}
// app/Views/hello_world.php
<html>
<body>
<h1>안녕하세요 CodeIgniter!</h1>
</body>
</html>
브라우저에서 /hello
로 접속하면 화면에 “안녕하세요 CodeIgniter!”가 뜨는 구조예요 🙌
CodeIgniter 시작을 위한 준비물
항목 | 설명 |
---|---|
PHP | 7.2 이상 (CodeIgniter 4 기준) |
웹 서버 | Apache, Nginx 등 |
DB | MySQL, PostgreSQL, SQLite 등 |
Composer | (선택사항) 의존성 관리 도구 |
주의할 점 ✅
항목 | 설명 |
---|---|
CI 3와 CI 4는 구조가 완전히 다르므로 호환되지 않아요 | |
보안 설정(예: CSRF, XSS 필터링)을 기본적으로 켜주세요 | |
Composer 없이도 가능하지만 유지보수 측면에선 Composer 사용 추천 | |
경량 프레임워크이므로 너무 많은 기능을 억지로 넣으면 Laravel보다 불편할 수 있어요 | |
DB 사용 시 Query Builder 또는 모델 클래스 활용 추천 (직접 SQL 작성 시 주의!) |
마무리하며 😊
CodeIgniter는 ‘빠르게, 가볍게, 쉽게’라는 슬로건에 딱 맞는 프레임워크입니다.
특히 Laravel처럼 복잡하고 무거운 프레임워크가 부담스러운 분들께는 최고의 선택이 될 수 있어요!
앞으로 이어질 시리즈에서는 CodeIgniter 설치부터, 라우팅, 컨트롤러, 뷰, 모델, 데이터베이스 연결까지
차근차근 따라 하면서 실전 웹 애플리케이션을 함께 만들어보도록 해요!
그럼 다음 시간에는 CodeIgniter 설치와 구성편에서 만나요~ 🛠️📦🚀