我正在尝试设置一些可以使用的类,但我不确定如何完成以下操作。
假设我有一个正在使用的类“foo”,并且我想使用另一个名为“loader”的类中的函数。这个加载器类的目的是加载我可以在“foo”类中使用的各种其他类。
例子:
class foo {
function foo() {
$this->load->model();
}
}
为此,我将首先启动“加载”类:
class foo {
function foo() {
$this->load = new loader;
$this->load->model('some_model');
}
}
现在我可以使用加载器类中的函数了。我想要的下一件事是从类 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->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->model_name
= $this->load->model('model_name')
,但这就是我想要避免的。我希望能够使用这个“加载”子类能够在“foo”类的范围内工作。