CodeIgniter 에서는 라이브러리나 컨트롤을 읽어들일때 자동으로 클래스를 할당하게 되므로 실제로 배열에 객체 데이터를 담을 수 없다.
 이때 다음과 같은 파일을 만들고 쓰면 잘 된다.
 application/system/libraries 디렉토리 밑에 beans.php 파일을 아래와 같이 만든다.
 <pre>
 <?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 );
}
}
?>
 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 라고 만든 빈즈 파일을 시험삼아 해보았으니 필요에 따라 만들면 되겠다..
 
댓글 없음:
댓글 쓰기