질문 Q #21707
controller에서 loader로 값을 전달하려면 어떻게 해야 하나요??
칸이 2019-09-19 13:42:51

아래와 비슷한 질문입니다.. ㅡ.ㅜ;

우선 컨트롤러에서는 알려주신대로 public으로 지정하고 사용하니.. 해당 변수를 사용할수 있었습니다.

그런데, loader에서 그 controller의 값을 사용하려면 어떻게 해야 할지를 모르겠습니다..

 

class Test_Controller extends CI_Controller

{

     public $ctrl_name = '';

     .................

}

 

이렇게 되어 있는 것을 loader에서 사용하고 싶은겁니다..

class Test_Loader extends CI_Loader

{

     public $ctrl_name = '';

     
      public function __construct()
      {
           parent::__construct();
           
           // 이곳에 컨트롤러의 ctrl_name 값을 가져오고 싶습니다.
      }
}

컨트롤러의 ctrl_name 값을 가져오고 싶은데, 어떻게 접근해야 하는지를 모르겠습니다.

컨트롤러와 로더의 개념(?)이 너무 틀려서 값 전달이 안될거 같은데..

이경우 

$CI =& get_instance();
$CI->ctrl_name

이렇게 접근을 해야 하는건가요??

 

다시 한번 알려주시면 감사하겠습니다. ㅡ.ㅜ;

 

 

 

 

답변 2
#1 변종원(웅파) 2019-09-19 14:36:37

해당값이 주소값이면 아예 상수로 선언해서 쓰시는게 좋습니다.

정확하게 기억이 안나는데 로더가 컨트롤러보다 상위일거라 안될겁니다. Codeigniter.php 파일 열러서 순서 확인해보세요.

#2 칸이 2019-09-19 15:05:28

loader로 뭔가 전달해 주는게 많이 어렵네요..

직접 컨트롤러명으로 접근 방법은 없나요? 있을거 같은데..

$this->test_controller->ctrl_name 이런 식으로요..

이런게 없나요??