반응형
파일 오토로드(autoload)
출처:
http://ci4doc.cikorea.net/concepts/autoloader.html
많은 수의 클래스를 requires()로 하드코딩 하는것은 번거롭기때문에 사용
CodeIgniter 오토로더는 네임스페이스가 없는 개별 클래스, PSR4 오토로드 디렉토리 구조를 준수하는 네임스페이스 클래스, 공통 디렉토리에서 클래스를 찾으려고 시도
초기 설정은 /app/Config/Autoload.php에서 이뤄짐
이 파일에는 두 개의 기본 배열이 포함되어 있으며 하나는 클래스맵을 위한 것이고, 다른 하나는 PSR4 호환 네임스페이스를 위한 것
네임스페이스
psr4 배열을 사용하면 네임스페이스를 해당 클래스가 있는 디렉토리에 매핑 할 수 있음
$psr4 = [
'App' => APPPATH,
'CodeIgniter' => SYSTEMPATH,
];
어플리케이션 폴더는 네임스페이스 App로 되어 있음. 어플리케이션 디렉토리의 컨트롤러, 라이브러리 또는 모델의 네임스페이스를 지정하지 않을 경우 App 네임스페이스 아래 위치하게 됨
구성(config) 파일의 네임스페이스는 App\Config가 아니라 Config
클래스 맵
클래스 맵을 사용하여 네임스페이스가 없는 타사 라이브러리에 연결할 수 있음
$classmap = [
'Markdown' => APPPATH .'third_party/markdown.php'
];
배열의 키는 찾으려는 클래스의 이름, 값은 위치를 지정하는 경로임
레거시 지원
클래스가 네임스페이스가 아닌 경우 오토로더는 /app/Libraries 및 /app/Models 디렉토리에서 파일을 찾으려고 시도
'CI4' 카테고리의 다른 글
[코드이그나이터] configuration 파일 (0) | 2020.09.02 |
---|---|
[코드이그나이터] Service (0) | 2020.09.01 |
[코드이그나이터] 모델, 뷰 및 컨트롤러 (0) | 2020.09.01 |
[코드이그나이터] 어플리케이션 구조 (0) | 2020.09.01 |
[코드이그나이터] [첫번째 어플리케이션 제작(튜터리얼)] 뉴스 아이템 만들기 [데이터 등록 페이지] (0) | 2020.08.31 |