我有一个主班,例如。
class MY_API {
function __construct($db) {
$this->something = new MY_SOMETHING($db);
$this->anotherthing = new MY_ANOTHERTHING($db);
}
}
所以我可以通过
$this->something->somefunction();
但是我不确定如何访问:
$this->anotherthing->anotherfunction();
从内部:
$this->something->somefunction();
我想我需要类似的东西:
$this->parent->anotherthing->anotherfunction();
这完全有可能吗,还是我需要更改构建类的方式?
理想情况下,我只是希望这些函数位于一个不同的文件中,而不是拥有一个非常大的文件,并使每个文件中的每个函数都可以相互访问
答案 0 :(得分:0)
如果MY_SOMETHING
对MY_ANOTHERTHING
有依赖性,请注入它!
class MY_SOMETHING {
private $db;
private $anotherThing;
public function __construct($db, MY_ANOTHERTHING $anotherThing) {
$this->db = $db;
$this->anotherThing = $anotherThing;
}
以及您的MY_API
构造函数中
public function __construct($db) {
$this->anotherthing = new MY_ANOTHERTHING($db);
$this->something = new MY_SOMETHING($db, $this->anotherThing);
}
现在您的MY_SOMETHING
类可以在其任何方法中使用$this->anotherThing
。