我試圖設置一些類來處理,但我不確定如何完成以下操作。爲當前範圍內的變量分配加載的類
比方說,我有一個我正在工作的類「foo」,並且我想使用來自另一個類「loader」的函數。這個裝載器類的目的是加載我可以在「foo」類中使用的其他類。
例子:
class foo {
function foo() {
$this->load->model();
}
}
對於這個工作我會先啓動類「負荷」:
class foo {
function foo() {
$this->load = new loader;
$this->load->model('some_model');
}
}
現在我可以使用的功能從Loader類中。接下來我想要的是從foo類中訪問已加載的模型。例如:
class foo {
function foo() {
$this->load = new loader;
$this->load->model('some_model');
$this->some_model->function_from_this_model();
}
}
這就是我迷路的地方,因爲我不確定如何保持在「foo」類的範圍內。在任何時候,我希望能夠使用$this->load->model('some_model')
加載一個新模型,通過$this->some_model
可以訪問。或者通過$this->some_name
變得可用的$this->load->something_else('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->model_name
= $this->load->model('model_name')
,但是這就是我試圖避免的。我希望能夠使用這個「加載」子類能夠在類「foo」的範圍內工作。