Еще не нашел ответа, но я уверен, что должен быть один: как предотвратить рекурсию / цикл объекта, когда объекты ссылаются друг на друга? Пример:
class Patient {
private $Issues = array();
[...]
public function __construct($id) {
[ Get data from DB ]
while ($row = $result->fetch_assoc()) {
$this->Issues[$row['idIssue']] = new Issue($row['idIssue']);
}
[...]
}
}
class Issue {
private $Patient;
[...]
public function __construct($id) {
[ Get data from DB ]
$this->Patient = new Patient($row['idPatient']); <-- Leads to recursion as the patient will load all it's Issues() etc. etc.
[...]
}
}
Как мне предотвратить это? Я мог бы использовать идентификатор Patient () вместо реального объекта, но это похоже на взлом. Есть ли способ использовать реальный объект?