플러그인Plugins
플러그인은 헬퍼와 거의 비슷하게 동작합니다. 차이점이라면 플러그인은 통상 하나의 기능을 제공하는반면 헬퍼는 여러기능들의 모음이라는 점 이죠. 헬퍼는 코어시스템의 일부로 인식됩니다. 플러그인은 커뮤니티에서 제작되고 공유될 의도로 사용하죠.
플러그인은 system/plugins 폴더에 저장하거나 application 폴더 안에 plugins 폴더를 만드셔서 그안에 저장하셔야 합니다. CodeIgniter 는system/application/plugins 폴더를 먼저 확인하며 해당폴더가 없거나 요청한 플러그인이 없을때는system/plugins 폴더를 확인합니다.
플러그인 로드하기
플러그인을 로드하는것은 다음과같이 매우 간단합니다:
$this->load->plugin('name');
name 부분은 .php 확장자와"plugin" 문자열을 제외한 플러그인 파일 이름입니다.
예를들이 Captcha 플러그인의 파일명이 captcha_pi.php 이라면 다음과같이 로드할 수 있습니다:
$this->load->plugin('captcha');
플러그인은 컨트롤러 안의 어떤 함수에서도 로드할수 있으며, 뷰 파일 에서도 로드할수있습니다.물론 뷰파일에서 로드하는것은 좋은 방법이 아니겠죠. 사용하기전에 로드하는것이 우선이라는거 잊지마세요.컨트롤러의 생성자에서 플러그인을 로드한다면 컨트롤러안의 다른 함수에서는 별도의 로드 없이 해당 플러그인을 바로 사용할 수 있습니다. 물론, 해당플러그인이 필요한 함수 내에서 로드하고 사용해도 됩니다.
Note: 플러그인을 로드하는 함수는 리턴값이 없습니다. 그러므로, 로드하는 함수를 어떤변수에 할당하지마세요 . 그냥 위에 예시된 형태로 사용하셔야 합니다..
여러 플러그인 로드하기
여러 플러그인을 로드해야한다면 아래와 같이 배열을 사용할수 있습니다.:
$this->load->plugin( array('plugin1', 'plugin2', 'plugin3') );
플러그인 자동 로드
플러그인을 전 프로그램에 걸쳐 사용해야할경우 자동로드하도록 설정할수 있습니다
application/config/autoload.php 파일의 autoload 배열에 추가해주세요.
플러그인 사용
플러그인을 로드한후 표준 PHP 함수처럼 사용하시면 됩니다.