私はいたるところを見てきましたが、答えが見つからないようです。私が疑問に思っているのは、PHP で再帰オブジェクトを使用することが安全であるか、または適切な方法であるかということです。オブジェクトを別のオブジェクトのプロパティとして作成するには、オブジェクトを含むオブジェクトへの参照を持つプロパティを含みます...
<?php
class User
{
public $database;
public function __construct() {
$this->database = new Database($this);
}
}
Class Database
{
private $user;
public function __construct(User $user) {
$this->user = $user;
}
public function doSomethingForUser() {
// Call db or get info for this user
}
}
そして、次のように使用します...
<?php
$bar = new User();
$bar->database->doSomethingForUser();
?>
オブジェクトの配列をソートしようとしたときに、array_multisort (具体的には「PHP Fatal error: Nesting level too deep - recursive dependency?」) などの特定の関数を使用すると問題が発生したことに気付きました。また、var_dump を使用すると、一部のプロパティが再帰的であることを示しています...
どんな助けでも大歓迎です