CodeIgniter 폴더, 파일 및 디렉토리 구조
⚡ 스마트 요약
CodeIgniter는 PHP 프로젝트를 애플리케이션 로직, 프레임워크 시스템 파일, Composer 벤더 패키지 및 단일 진입 스크립트를 위한 예측 가능한 폴더로 구성하므로 초보자는 코드를 빠르게 찾을 수 있고 중급 개발자는 깔끔한 MVC 구조를 확장할 수 있습니다.

파일 구조 이해하기 Code실제 애플리케이션을 개발하기 전에 Igniter는 필수적입니다. 예측 가능한 레이아웃은 컨트롤러, 모델, 뷰를 빠르게 찾고, 라우팅 문제를 디버깅하고, 새로운 팀원을 더 빠르게 온보딩하는 데 도움이 됩니다. 이 튜토리얼에서는 기본적인 레이아웃 구성에 대해 다룹니다. Code널리 사용되고 있는 Igniter 3의 구조를 설명하고, 여러분이 접하게 될 주요 차이점을 명확히 합니다. CodeIgniter 4.x 버전에서는 app/, public/, writable/ 폴더가 별도의 최상위 폴더로 도입되었습니다.
이것은 CodeIgniter 파일 및 디렉토리 구조는 어떻게 되나요?
The CodeIgniter의 파일 구조는 프레임워크를 다운로드하거나 설치한 후 기본적으로 제공되는 폴더 및 PHP 파일의 배열입니다. 이 구조는 애플리케이션 로직을 프레임워크 코어에서 분리하고, Composer 종속성을 격리하며, index.php를 통해 단일 진입점을 제공합니다. 다음 이미지는 Igniter의 파일 구조를 보여줍니다. Code점화기:
다음은 새로 설치한 파일의 간소화된 디렉토리 구조입니다. CodeIgniter 3 설치:
// CodeIgniter 3 root layout project-root/ ├── application/ ├── system/ ├── user_guide/ ├── vendor/ ├── composer.json ├── composer.lock └── index.php
최상위 폴더에 대한 설명
이제 위의 파일들을 살펴보겠습니다. Code점화기 구조:
- 신청 - 이 디렉터리는 애플리케이션 로직을 담을 디렉터리입니다. 애플리케이션의 모든 코드는 이 디렉터리에 포함됩니다.
- 체계 – 이 폴더에는 프레임워크 코어 파일이 포함되어 있습니다. 이 디렉토리를 변경하거나 자신의 애플리케이션 코드를 이 디렉토리에 넣는 것은 권장되지 않습니다.
- 사용자 설명서 – 이 디렉토리에는 다음에 대한 사용자 설명서가 포함되어 있습니다. Code이그나이터.
- 공급 업체 이 디렉터리에는 Composer 패키지의 소스 코드가 포함되어 있습니다. 이 디렉터리와 관련된 다른 파일로는 composer.json과 composer.lock이 있습니다.
- index.php – 이는 애플리케이션의 진입점입니다.
CodeIgniter 애플리케이션 하위 디렉터리
이제 디렉토리 구조를 좀 더 자세히 살펴보겠습니다. 앞서 언급했듯이, 애플리케이션 디렉토리에는 프로젝트 코드가 포함되어 있습니다. 이 섹션에서는 그 안에 있는 하위 디렉토리들을 살펴보겠습니다. CodeIgniter 디렉토리 구조:
- 캐시 – 출력 및 데이터베이스 캐싱 라이브러리에서 생성된 캐시된 파일을 저장합니다.
- 설정 – database.php, routes.php, autoload.php와 같은 설정 파일을 유지합니다.
- 컨트롤러 – 모든 애플리케이션 컨트롤러는 여기에 정의되고 매핑됩니다. URL 세그먼트를 액션으로 변환합니다.
- core 이 디렉터리에는 시스템 파일을 확장하는 사용자 정의 코어 클래스가 포함되어 있습니다. 예를 들어, 다른 컨트롤러가 확장해야 하는 기본 컨트롤러를 만들려면 이 디렉터리에 배치하면 됩니다.
- 도우미 – 이 디렉토리는 CodeIgniter의 폴더 구조는 사용자 정의 도우미 함수에 사용됩니다.
- 후크 CI 폴더 구조에서 프레임워크 실행 주기 동안 실행되는 사용자 지정 후크에 사용됩니다.
- 언어 - 여러 언어를 사용하는 애플리케이션의 언어 파일을 저장하는 데 사용됩니다.
- 도서관 - 사용자 정의 라이브러리를 저장하는 데 사용됩니다.
- 로그 – 애플리케이션 로그 파일은 이 디렉터리에 저장됩니다.
- 모델 모든 애플리케이션 모델은 이 디렉터리에 정의되어야 합니다.
- 제XNUMX자 – 이는 사용자 또는 다른 개발자가 만든 사용자 지정 패키지에 사용됩니다.
- 보기 – 애플리케이션 뷰는 이 디렉터리에 저장됩니다.
다음은 애플리케이션 하위 디렉터리 트리의 예입니다.
// application/ subdirectories application/ ├── cache/ ├── config/ ├── controllers/ ├── core/ ├── helpers/ ├── hooks/ ├── language/ ├── libraries/ ├── logs/ ├── models/ ├── third_party/ └── views/
CodeIgniter 시스템 하위 디렉터리
이제 CI 파일 구조에서 시스템 하위 디렉터리를 살펴보겠습니다. 이 디렉터리에는 프레임워크 소스 코드가 있으므로 이 디렉터리의 파일은 절대 수정하지 마십시오.
- core – 이것이 마음과 같다. Code이그나이터 프레임워크프레임워크를 구성하는 모든 핵심 파일은 여기에 있습니다. 핵심 파일의 기능을 확장하려면 애플리케이션 디렉터리에 사용자 지정 핵심 파일을 생성해야 합니다. 그런 다음 원하는 동작을 재정의하거나 새 동작을 추가할 수 있습니다. 이 디렉터리를 직접 수정해서는 안 됩니다.
- 데이터베이스 - 데이터베이스 드라이버, 캐시 및 데이터베이스 작업에 필요한 기타 파일이 여기에 제공됩니다.
- 글꼴 이름에서 알 수 있듯이, 이 디렉토리에는 글꼴과 글꼴 관련 정보가 포함되어 있습니다.
- 도우미 – 이 디렉토리는 CodeIgniter 구조 폴더에는 기본적으로 제공되는 도우미 함수들이 포함되어 있습니다.
- 언어 - 프레임워크에서 사용하는 언어 파일이 포함되어 있습니다.
- 도서관 – 포함된 다양한 라이브러리의 소스 파일이 들어 있습니다. Code점화기는 박스에서 바로 꺼낼 수 있습니다.
시스템 폴더 구조는 다음과 같습니다.
// system/ subdirectories system/ ├── core/ ├── database/ ├── fonts/ ├── helpers/ ├── language/ └── libraries/
CodeIgniter 사용자 가이드 디렉토리
이 디렉토리는 여러분이 이해하고자 할 때 참고할 수 있는 안내서 역할을 합니다. CodeIgniter API입니다. 이 디렉토리는 용량을 증가시키고 실제 서버에 적합하지 않은 문서를 노출하므로, 애플리케이션을 프로덕션 환경에 배포할 때 업로드하지 않는 것이 좋습니다.
CodeIgniter 공급업체 목록
이 디렉터리에는 Composer를 통해 설치하는 패키지의 소스 파일이 포함되어 있습니다. 이 디렉터리의 파일은 그대로 두어야 하며, 어떠한 변경도 해서는 안 됩니다. user_guide 디렉터리와 달리, 이 디렉터리는 애플리케이션에서 Composer 패키지를 사용하는 경우 업로드해야 합니다.
index.php 파일
index.php 파일은 CodeIgniter 파일 구조에는 프레임워크에 제어권을 넘기기 전에 환경, 경로 및 오류 보고를 정의하는 부트스트랩 코드가 포함되어 있습니다. 이 파일은 루트 디렉터리에 있으며 들어오는 모든 HTTP 요청에 대한 프런트 컨트롤러 역할을 합니다.
방법 CodeIgniter 4는 구조를 변경합니다
CodeIgniter 4.x는 보안 및 PSR-4 자동 로딩을 개선하기 위해 레이아웃을 재구성했습니다. 단일 애플리케이션 폴더 대신 이제 세 개의 최상위 폴더가 표시되어 각 기능을 더욱 엄격하게 구분합니다.
- 앱/ – 기존의 application/ 폴더와 동일하며, 컨트롤러, 모델, 뷰, 설정 파일, 필터 및 라이브러리를 포함합니다.
- 공공의/ - 웹에 노출되는 유일한 폴더이며, index.php 파일과 CSS, JS, 이미지 파일이 포함되어 있습니다.
- 쓰기 가능/ – 프레임워크가 런타임에 기록해야 하는 캐시, 로그, 세션 및 업로드 파일을 저장합니다.
- 체계/ – 여전히 프레임워크 코어를 보유하고 있으며, 네임스페이스는 아래에 있습니다. Code점화기.
- 벤더 / - Composer 패키지는 CI 3와 역할이 동일합니다.
// CodeIgniter 4 root layout project-root/ ├── app/ ├── public/ ├── writable/ ├── system/ ├── vendor/ ├── tests/ ├── composer.json ├── env └── spark
오늘 새로운 프로젝트를 시작하신다면, CodeIgniter 4가 권장 버전입니다. 이전 버전의 코드베이스를 유지 관리하는 경우, 위에 설명된 CI 3 구조가 디스크에 저장된 내용과 일치합니다.
함께 일하기 Code점화 장치 구조의 일상
각 폴더의 위치를 파악하면 일반적인 작업이 훨씬 수월해집니다. application/controllers/ (CI 4에서는 app/Controllers/) 폴더에 새 컨트롤러를 생성하고, config/routes.php 파일에서 해당 컨트롤러의 경로를 연결하세요. models/ 폴더에 모델을 빌드하고, views/ 폴더에 뷰 파일을 작성하여 출력을 렌더링하세요. 설정 파일은 config/ 폴더에, 재사용 가능한 코드는 helpers/ 또는 libraries/ 폴더에 저장하고, composer를 사용하여 vendor/ 폴더 안의 모든 것을 관리하세요. 이러한 원칙을 고수하면 프로젝트 규모가 커지더라도 쉽게 탐색할 수 있습니다.
