블로그 프로필 이미지

SMALL




☞ autoload.php (CI 3.0)


autoload.php 는 CI 에서 사용되는 패키지, 라이브러리, 드라이버, 헬퍼, 모델, 환경설정, 언어설정 파일등을 자동으로 로드하고 싶을때 사용한다. 한가지 예를 들면 사용자가 자신이 만든 라이브러리 또는 CI 의 기본라이브러리를 사용할 시 아래와 같이 CI 로드 클래스를 이용하여 사용할려는 라이브러리를 먼저 로드해주어야한다.


$this->load->library('session');


이렇게 필요할때마다 로드해 주는건 컴파일 수행시간을 단축시킬 수 있기때문에 상당히 유용하다. 하지만, 자주 쓰이는 것들은 이렇게 계속 로드해주기란 정말 귀찮은 일이다. 특히나 session 과 database 같은 경우, 전역으로 쓰이는 경우가 많기 때문에autoload 를 해주는게 좋다. 


아래는 autoload.php 파일 내용에 대한 설명이다. 설명은 개인적인 해석이기 때문에, 틀린 부분이 있을 수 있으니 메뉴얼을 참고해 가면서 보는편이 좋다.


 config/autoload.php


<?php /* + application 폴더에 있는 libraries, drivers, helper, config, language, model 와 같이 다른 디렉토리에 존재하는 것들을 로드할때 사용한다. 패키지 설정은 파일이 아닌 디렉토리를 지정해 주어야 한다. ex) application/third_party 디렉토리에 libraries 디렉토리를 생성후 그안에 My_libray_test 파일을 생성한다. 그후 자동로드는 아래와 같이 설정해주면된다. => $autoload['packages'] = array(APPPATH.'third_party'); + 만약 패키지 디렉토리가 third_party 경로 안에 foo 디렉토리에 존재한다면, 아래와 같이 를 설정해 주면된다. => $autoload['packages'] = array(APPPATH.'third_party/foo'); */ $autoload['packages'] = array(); /* + 자동으로 로드할 항목을 적어주면 된다. 이때 확장자는 적을 필요없다. ex) 만약 자동로드할 항목이 라이브러리의 session 이라면 아래와 같이 설정해주면된다 => $autoload['libraries'] = array('session'); + 만약 로드할 My_lib 라는 이름의 라이브러리가 foo라는 이름의 서브디렉토리안에 존재한다면 아래와 같이 설정해 주면된다. => $autoload['libraries'] = array('foo/my_lib'); + 헬퍼(helper) 나 언어(language) 의 경우 기본적으로 각각 _helper 와 _lang 이라는 접미어가 붙게 되는데 이는 생략해야한다

ex) 만약 로드해야할 헬퍼가 test_helper.php 라면 아래와 같이 설정해 주면된다 => $autoload['helper'] = array('test'); */ $autoload['libraries'] = array(); $autoload['drivers'] = array(); $autoload['helper'] = array(); $autoload['config'] = array(); $autoload['language'] = array(); $autoload['model'] = array(); ?>


LIST