우리는 보통 라이브러리를 사용할때 CodeIgniter에서 제공하는 라이브러리만 사용해왔습니다...
하지만 자신만의 라이브러리를 만들어서 CodeIgniter 에서 사용할수 있습니다..
대부분 application/libraries 폴더안에 라이브러리 파일을 만들게 됩니다..
CodeIgniter는 당신의 라이브러리에서 CodeIgniter 라이브러리를 확장하는것을 허용합니다.
요약하겠습니다..
*당신은 새로운 라이브러리를 완벽하게 만들수 있습니다.
*당신은 CodeIgniter 라이브러리를 확장할수 있습니다.
*당신은 CodeIgniter 라이브러리를 교체할수 있습니다..
이제 하나하나 자세히 알아보겠습니다..
Note: 데이터베이스 클래스는 당신이 만드는 클래스에서 확장되거나 교체될수 없습니다..
메인 Controller 클래스도 안됩니다..
그외 모든 다른 클래스들은 교체되거나 확장되는것이 가능합니다...
- 저장소
당신의 라이브러리 클래스들은 당신의 application/libraries 폴더에 위치해야 합니다.
CodeIgniter 는 가장먼저 이곳을 찾게 됩니다..
- 이름짓기 규칙
*파일 이름은 대문자로 시작되야 합니다. 예를 들면 Myclass.php
*클래스 선언은 대문자로 시작해야 합니다. 예를 들면 class Myclass
*클래스 이름과 파일이름은 같아야 합니다.
- The Class File (클래스 파일)
클래스들은 이 기본적인 프로토타입을 가져야 합니다. (노트: 우리는 예제에서 Someclass 이름으로 사용했습니다.)
------------------------------------------------------------------------------------
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Someclass {
function some_function()
{
}
}
?>
------------------------------------------------------------------------------------
- 당신의 클래스 사용하기
위의 내용을 따라하면서 당신의 클래스를 만들었다면 이제 사용하기 위해서 초기화를 시켜줘야 합니다...
방법은 다른 라이브러리 초기화하는것과 똑같습니다...
당신의 Controller클래스의 생성자에
$this->load->library('someclass');
이 코드를 넣어주면 됩니다...
someclass를 파일로 만들려면 끝에 .php만 붙여주면 되겠죠.. someclass.php
파일이름은 대소문자 구별안합니다.
한번 로드되면 당신은 당신의 클래스에 접속할수 있습니다... 소문자를 사용해도 됩니다...
$this->someclass->some_function(); // 항상 객체경우는 소문자일 것입니다.
- 당신의 클래스가 초기화될때 파라미터 보내기
라이브러리 로딩 함수에서 당신은 두번째 파라미터로 데이터를 보낼수 있고 그것은 당신의 클래스 생성자로 보낼것이다.
------------------------------------------------------------------------------------
$params = array('type' => 'large', 'color' => 'red');
$this->load->library('Someclass', $params); // 단지 두번째 파라미터에 데이터를 보냈네요..
------------------------------------------------------------------------------------
만약 이방법을 사용한다면 당신은 당신의 클래스 생성자를 데이터를 받을수 있도록 설정해줘야 합니다.
------------------------------------------------------------------------------------
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Someclass {
function Someclass($params)
{
// $params 를 이용해서 무언가 합니다.
}
}
?>
------------------------------------------------------------------------------------
번역 난해한곳(나중에 수정하겠습니다.)
당신은 또 config file 에서 저장된 파라미터를 보낼수 있습니다. 이름은 존재하는 클래스파일이름으로 config file을 간단하게 만들고
당신의 application/config/ 폴더에 그것을 저장합니다. 노트: 만약 당신이 파라미터를 바로 보내겠다면 위에서 설명했던것처럼
config file 옵션은 이용될수 없을겁니다.
[출처] 자신만의 라이브러리 만들기|작성자 행복나눔
'FrameWork > CodeIgniter' 카테고리의 다른 글
CodeIgniter 에서 객체를 수동으로 생성해서 사용하기 (0) | 2010.04.24 |
---|---|
codeigniter 설치 트러블 슈팅 (0) | 2010.04.24 |
데이터베이스 관련 라이브러리를 찾지 못할때 (0) | 2010.04.24 |
[CodeIgniter ERROR] Unable to connect to your database server using the provided settings. (0) | 2010.04.24 |
Session 라이브러리 주의 사항 (0) | 2010.04.24 |