2011-03-18 2 views
2

최근에 Codeigniter로 무엇을 배울 수 있는지 알아보기 위해 놀았습니다. 나는로드 기능을 보았고, 누군가가 그 일을 어떻게하는지 안다면 궁금해하고있었습니다. 기본적으로 모양은 다음과 같습니다.Codeigniters로드 기능 복제

$this->load->model('Model_name'); 
$this->Model_name->some_function(); 

이제로드는 분명히 클래스이며 인스턴스가 만들어지고로드됩니다. 그리고로드 "Model_name"클래스를 포함하고 그것의 인스턴스를 만듭니다. 하지만 내가 할 수없는 부분은로드 클래스가 코드의 두 번째 줄 에서처럼 "Model_name"이라는 "클래스 변수"를 만드는 방법입니까? 그리고 어떻게 실제로 php에서 이것을 구현할 것인가?

감사합니다.

답변

0

기본적으로 클래스는 생성 된 모든 개체 (예 : $ this)를 기억한 다음 새로 만든 클래스를 해당 클래스의 변수로 참조로 할당합니다.

function Load($className) 
{ 
    $newClass = new $className(); 
    foreach($this->objects as &$object) //objects is array with created objects 
    $object->$className = $newClass; 
} 

그러나 배경이 훨씬 더 많습니다. 당신은 당신이 'loader.php'를 열어서 무엇을하는지 읽을 수 있다는 것을 알고 있습니다.

0

이런 종류의 것들은 PHP와 같은 인터프리터 언어에서 작동합니다. 특히 C++, C# 등과 같은 엄격한 언어로 경험이 있다면 매우 혼란 스러울 수 있습니다.

아이디어는 PHP 코드를 실행할 수있는 PHP 기능이 있으며 그 결과가 다른 곳에서 볼 수 있습니다. 스크립트.