작업 할 클래스를 일부 설정하려고하지만 다음을 수행하는 방법을 잘 모르겠습니다.로드 된 클래스를 현재 범위 내의 변수에 할당하십시오.
내가 작업하고있는 "foo"클래스가 있고 "loader"라는 다른 클래스의 함수를 사용하고 싶다고 가정 해 보겠습니다. 이 로더 클래스의 목적은 "foo"클래스 내에서 사용할 수있는 다양한 클래스를로드하는 것입니다.
예 :이를 위해
class foo {
function foo() {
$this->load->model();
}
}
내가 먼저 클래스 "부하"를 시작하는 것입니다 작동합니다 :
class foo {
function foo() {
$this->load = new loader;
$this->load->model('some_model');
}
}
지금 내가 로더 클래스 내에서 기능을 사용할 수 있습니다. 다음으로 내가 원하는 것은로드 된 모델이 클래스 foo 내에서 액세스 할 수 있도록하는 것입니다. 예 : 나는이 지워지 어디는 "foo는"클래스의 범위 내에서 유지하는 방법을 잘 모르겠어요 때문에
class foo {
function foo() {
$this->load = new loader;
$this->load->model('some_model');
$this->some_model->function_from_this_model();
}
}
는 그리고 이것은이다. 언제든지 $this->load->model('some_model')
을 사용하여 $this->some_model
을 통해 액세스 할 수있는 새 모델을로드하고 싶습니다. 또는 $this->load->something_else('some_name')
은 $this->some_name
을 통해 제공됩니다.
여기 로더 클래스 예제 :
class loader {
function model($model_name) {
require('models/'.$model_name.'.php');
$model = new $model_name;
// and what to do now, to get it back to the $this var from class foo?
}
}
그러나이 모든 것은 단지 로더 클래스의 범위 내에서 발생합니다.
이 작업을 수행하는 방법에 대한 아이디어가 있으십니까?
편집 :
은 내가 = $this->load->model('model_name')
$this->model_name
같은 변수에 직접 할당 할 수 있습니다 알고 있지만, 내가 피하기 위해 노력하고있어입니다. 이 "로드"하위 클래스를 사용하여 클래스 "foo"의 범위 내에서 작업 할 수 있기를 바랍니다.