Доступ к родительской области из вложенного класса

У меня есть основной класс, например

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();

Возможно ли это вообще или мне нужно изменить способ построения классов?

В идеале я просто хочу, чтобы эти функции находились в другом файле, а не в одном очень большом файле, и чтобы каждая функция в каждом файле была доступна друг другу.

-1

Решение

Если 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 в любом из его методов.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector