2007/08/23

CodeIgniter 에서 객체를 수동으로 생성해서 사용하기

CodeIgniter 에서는 라이브러리나 컨트롤을 읽어들일때 자동으로 클래스를 할당하게 되므로 실제로 배열에 객체 데이터를 담을 수 없다.
 
이때 다음과 같은 파일을 만들고 쓰면 잘 된다.
 
application/system/libraries 디렉토리 밑에 beans.php 파일을 아래와 같이 만든다.
 
<pre>
&lt;?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class beans
{
    /**
     * 빈즈 이름
     *
     * @var string
     */
    var $beans_name;
   
    /**
     * 빈즈 파일을 읽어들일 기본 경로
     *
     * @var string
     */
    var $load_dir;
   
    function beans ( $dir )
    {
        // 기본적으로 Beans 를 불러들일 경로
        $this->load_dir = APPPATH . 'libraries/' . $dir . '/';
    }
   
    function load ( $beans_name )
    {
        // 불러들일 Beans 파일 포함
        include_once ( $this->load_dir . $beans_name . EXT );
    }
}
?>
</pre>
 
이 때 Beans 를 불러오는 기본 경로는 다르게 설정해주는 것이 좋다. 본인은 libraries 밑에 beans 파일을 두기로 했다.
 
그리고 다음과 같이 컨트롤러나 라이브러리에서 사용해주면 된다.
 
$this->load->library ( 'beans', 'warning' );
$this->beans->load ( 'test' );
$tester = new test ();
 
여기서는 본인이 test 라고 만든 빈즈 파일을 시험삼아 해보았으니 필요에 따라 만들면 되겠다..

댓글 없음: