질문 Q #21559
$this->load시 매번 호출해야 하나요?
게시타포 2019-08-02 11:52:50

controller에서 각각의 php를 url로 호출시 생성자에 $this->load->library나 $this->load->model등 여러가지를 

로드하게 되는데요

예를 들어 $this->load->library('aaaa')를 a.php에서 생성자에서 호출하면 b.php에도 호출해야 하나요?

일단 현재 테스트는 model에서 load->library('aaaa')를 하고 나서 controller에는 load->library를 호출하지

않아도 사용이 가능하던데요  질문요지는

1. load->  로 시작되는 객체들이 싱글톤 형태로 한번 load하면 다른곳에서도 계속 사용하게 되는지요

2. 만약 각각 php에서 매번 같은 것을 로드 한다라고 한다면 이미 로드되어 있으면 자동으로 메모리에 로드하지 않는지요?

답변 2
#1 한대승(불의회상) 2019-08-02 12:00:46

php는 자바와 달리 페이지 호출 시점에 프로그램이 실행되는 형태라 필요한 라이브러리는 각각의 php 프로그램에서 다시 로드해야 합니다.

$this->load 로 로드된 객체들은 싱글톤으로 유지 됩니다. 같은 프로그램에서 $this->load 를 여러번 사용하여도 객체는 하나만 생성된 상태에서 재사용됩니다.

#2 게시타포 2019-08-02 12:16:20
명확한 답변 감사드립니다.