본문 바로가기
PROGRAMMING/PHP

CodeIgniter4 디렉토리 구조 설명

by itengineer 2023. 7. 12.
반응형

CodeIgniter4의 공식사이트

https://codeigniter4.github.io/userguide/index.html

 

Build Your First Application — CodeIgniter 4.3.6 documentation

In addition to this, CodeIgniter has some helpful error pages when you hit exceptions or other errors in your program. Open up app/Controllers/Home.php and change some line to generate an error (removing a semi-colon or brace should do the trick!). You wil

codeigniter4.github.io

설치

CodeIgniter4를 composer로 설치합니다.

composer create-project codeigniter4/appstarter ci4-news

디렉토리 구조

CodeIgniter4의 초기상태 기본 디렉토리는 아래와 같습니다.

ci4-news/
├── app/ 
│   ├── Common.php
│   ├── Config/
│   ├── Controllers/
│   ├── Database/
│   ├── Filters/
│   ├── Helpers/
│   ├── Language/
│   ├── Libraries/
│   ├── Models/
│   ├── ThirdParty/
│   └── Views/
├── builds*
├── composer.json
├── composer.lock
├── env
├── phpunit.xml.dist
├── public/
│   ├── favicon.ico
│   ├── index.php
│   └── robots.txt
├── spark*
├── tests/
│   ├── _support/
│   ├── database/
│   ├── session/
│   └── unit/
├── vendor/
└── writable/
    ├── cache/
    ├── debugbar/
    ├── logs/
    ├── session/
    └── uploads/

각 디렉토리의 내용을 살펴보겠습니다.

 

App

app 디렉토리는 애플리케이션의 코드와 설정 파일이 위치하는 곳입니다. 기본적으로 다음과 같은 구조를 갖습니다.

Config/
설정 파일 저장 위치

Controllers/
프로그램의 흐름을 결정하는 컨트롤러 저장 위치

Database/
데이터베이스 마이그레이션을 위한 파일

Filters/
컨트롤러에서 요청 처리 전과 후에 공통으로 실행되는 필터 설정

Helpers/
전역적으로 사용할 수 있는 함수 정의

Language/
다국어 지원을 위한 언어 파일

Libraries/
다른 카테고리에 속하지 않는 공통 클래스

Models/
데이터베이스와 상호작용하는 프로그램

ThirdParty/
애플리케이션에서 사용 가능한 서드파티 라이브러리

Views/
데이터를 받아 화면을 구성하는 곳

 

app 디렉토리의 파일은 자동으로 App 네임스페이스에 등록됩니다. 설정을 변경하려면 app/Config/Constants.php의 APP_NAMESPACE 설정을 수정하면 됩니다.


system

Composer를 사용하여 CodeIgniter를 설치한 경우 경로는 vendor/codeigniter4/framework/system이 됩니다. 여기에 CodeIgniter의 핵심이 있으며 CodeIgniter 네임스페이스로 등록됩니다.


public

CodeIgniter 3와 달리, 공개 디렉토리가 public으로 분리되었습니다. 여기에는 요청을 처음 받는 index.php와 Apache 설정 파일인 .htaccess가 위치합니다.


writable

애플리케이션에서 출력되는 캐시와 로그 파일은 모두 이 디렉토리에 집중됩니다. 쓰기 권한은 이 디렉토리에만 부여하면 됩니다.


tests

테스트용 프로그램 파일이 여기에 저장됩니다.


디렉토리 위치 수정

기본 구성을 변경하려면 app/Config/Paths.php를 편집하면 됩니다.
Paths.php의 일부 내용은 다음과 같습니다.

・app/Config/Paths.php

<?php
namespace Config;
class Paths
{
    // 시스템 폴더 이름
    public $systemDirectory = __DIR__ . '/../../system';
    // 애플리케이션 폴더 이름
    public $appDirectory = __DIR__ . '/..';
    // 쓰기 가능한 디렉토리 이름
    public $writableDirectory = __DIR__ . '/../../writable';
    // 테스트 디렉토리 이름
    public $testsDirectory = __DIR__ . '/../../tests';
    // 뷰 디렉토리 이름
    public $viewDirectory = __DIR__ . '/../Views';
}


다양한 경로를 수정할 수 있습니다.


개발환경설정

CodeIgniter4는 기본설정이 배포모드(production)로 되어있습니다.

개발 중에 편리한 기능을 사용하기 위해 개발모드로 변경합니다.

프로젝트 루트에 있는 env를 .env로 복사해서 CI_ENVIRONMENT를 production에서 development로 변경합니다.

#--------------------------------------------------------------------
# ENVIRONMENT
#--------------------------------------------------------------------

# CI_ENVIRONMENT = production
 CI_ENVIRONMENT = development

#--------------------------------------------------------------------
# APP
#--------------------------------------------------------------------
반응형

댓글