2017-12-18 6 views
1

우리는 일반적으로 객체를 사용하는 메소드를 호출하지만, 여기서는 codeigniter에서 변수가 메소드를 호출합니다. 그들은 그것을 어떻게 디자인 했습니까? 수퍼 객체라고 불리는 것을 발견했습니다. 어떻게 그러한 객체를 만들었습니까? 아무 도움도 필요 없습니다. 내부 아키텍처가 어떻게 작동하는지 알고 싶습니다. /system/core/Controller.php

$this->load->view(); //it loads view , how come $this->load an object here 
+0

모든 것은 CI_controller에서 온 것입니다 –

+0

당신은 codeigniter에서'library'를 사용하여 그것을 달성 할 수 있습니다 또한 당신이 원하는 것을 명확히하십시오 chieve? –

+0

@Rajeevbbqq im는 codeigniter 프레임 워크가 변수에 대한 메소드를 호출하는 방법을 알고 있습니다. 예를 들어 $ this-> load는 가변적이며, 메소드를 호출합니다. 어떻게 구현 했습니까? 메신저 내부 메커니즘에 대해 얘기 –

답변

1

이동, 당신은 모든이뿐만 아니라 system/core/Loader.php에서 트리거를

public function __construct() 
{ 
    self::$instance =& $this; 

    foreach (is_loaded() as $var => $class) 
    { 
     $this->$var =& load_class($class); 
    } 

    $this->load =& load_class('Loader', 'core'); 
    $this->load->initialize(); 
    log_message('info', 'Controller Class Initialized'); 
} 

테이크 모양을 얻을 선 아래에 볼 수 있습니다,이 같은 (->view() 관련)

를 볼 수 있습니다
/** 
* View Loader 
* 
* Loads "view" files. 
* 
* @param string $view View name 
* @param array $vars An associative array of data 
*    to be extracted for use in the view 
* @param bool $return Whether to return the view output 
*    or leave it to the Output class 
* @return object|string 
*/ 
public function view($view, $vars = array(), $return = FALSE) 
{ 
    return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_prepare_view_vars($vars), '_ci_return' => $return)); 
}