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 라고 만든 빈즈 파일을 시험삼아 해보았으니 필요에 따라 만들면 되겠다..
댓글 없음:
댓글 쓰기