FrameWork/CodeIgniter

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

백룡화검 2008. 6. 30. 11:21
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 라고 만든 빈즈 파일을 시험삼아 해보았으니 필요에 따라 만들면 되겠다..

[출처] CodeIgniter 에서 객체를 수동으로 생성해서 사용하기 |작성자 행복나눔