빠르고 가벼운 PHP 프레임워크를 찾고 있다면, CodeIgniter는 여전히 훌륭한 선택지입니다. 파일 용량이 작고 성능이 뛰어나며, 진입장벽이 낮아 빠르게 프로젝트를 시작할 수 있습니다. 이번 글에서는 CodeIgniter 4 기준으로 설치부터 기본 설정까지의 과정을 정리합니다.
CodeIgniter는 PHP 기반의 오픈소스 웹 프레임워크로, MVC 패턴, 라우팅, 세션 관리, 보안 기능 등 웹 개발에 필요한 기본 기능을 포함하고 있습니다.
특징은 다음과 같습니다:
가볍고 빠름
설정이 단순함
문서화가 잘 되어 있음
Composer를 통한 설치 가능
CodeIgniter 4부터는 Composer로 설치가 가능합니다.
composer create-project codeigniter4/appstarter myproject
cd myproject
설치가 완료되면 myproject 폴더 안에 CodeIgniter 애플리케이션이 구성됩니다.
공식 홈페이지에서 ZIP 파일을 다운로드 받아 직접 해제하고 사용하는 방식도 있습니다. 다만 관리와 버전 업데이트가 어려워 추천되지 않습니다.
설치를 마쳤다면 개발용 서버를 실행해 봅니다.
php spark serve
기본적으로 http://localhost:8080 에서 애플리케이션이 실행됩니다.
spark는 CodeIgniter 4의 커맨드라인 도구입니다.
간단히 주요 디렉토리 구조를 보면 다음과 같습니다:
/app # 애플리케이션 코드
/public # 웹 루트 디렉토리 (index.php 존재)
/system # 프레임워크 코어
/writable # 로그, 캐시, 업로드 등
개발은 대부분 /app 디렉토리에서 이루어지며, public/index.php를 통해 앱이 시작됩니다.
.env 파일은 환경별 설정을 저장하는 곳입니다. 설치 후 .env 파일이 없다면 .env.example을 복사해서 사용합니다.
cp env .env
이 파일에서 다음과 같은 항목을 설정할 수 있습니다:
CI_ENVIRONMENT = development
app.baseURL = 'http://localhost:8080/'
database.default.hostname = localhost
database.default.database = mydb
database.default.username = root
database.default.password = root
database.default.DBDriver = MySQLi
설정 후 파일의 주석(#)을 제거해야 반영됩니다.
app/Config/Routes.php 파일에서 라우팅을 설정할 수 있습니다.
$routes->get('/', 'Home::index');
이 설정은 사용자가 /로 접속했을 때 app/Controllers/Home.php의 index() 메서드를 실행하도록 합니다.
app/Controllers 디렉토리에 컨트롤러를 생성해봅니다.
// app/Controllers/Hello.php
namespace App\Controllers;
class Hello extends BaseController
{
public function index()
{
return "Hello, CodeIgniter!";
}
}
http://localhost:8080/hello에 접속하면 위 문자열이 출력됩니다.
CodeIgniter 4는 마이그레이션 기능도 제공합니다.
php spark make:migration CreateUsersTable
생성된 파일을 편집한 후:
public function up()
{
$this->forge->addField([
'id' => [
'type' => 'INT',
'unsigned' => true,
'auto_increment' => true,
],
'username' => [
'type' => 'VARCHAR',
'constraint' => '100',
],
]);
$this->forge->addKey('id', true);
$this->forge->createTable('users');
}
php spark migrate
CodeIgniter는 설치가 빠르고 구조가 명확해, 특히 경량 프로젝트나 단기간 개발에 적합합니다. 위 단계를 따라가면 기본적인 웹 프로젝트를 시작할 준비가 끝났습니다.
#PHP #CodeIgniter4 #PHP프레임워크 #CodeIgniter설치 #PHP웹개발 #경량프레임워크 #MVC패턴 #php개발환경
다음으로는 템플릿 뷰 사용법, 모델 연동, 사용자 인증 구현 등을 알아보면 실제 프로젝트 개발에 더 도움이 됩니다. 해당 주제가 궁금하신가요?