エンティティから依存/親オブジェクトを取得するにはどうすればよいでしょうか。
$person->getAddress();
これにより、データベースからその人物の Address オブジェクトが取得され、オブジェクトとして返されます。これはそれを行う良い方法であり、これが問題ない場合、コードはどのように見えるべきですか.
これを行うことは、アドレスが関連するエンティティ/値オブジェクトであることをオブジェクト自体が認識する必要があることを意味します。この種の構文が必要な理由は、プレゼンテーション層できれいに見えるからです。
person クラスは次のようになります。
class Person {
protected $_domain = null; // domain is assigned when instantiated
protected $_data = array('name', 'address');
protected $_relations = array(
'address'=>array(
'class'=>'Address'
)
);
protected $_retrievedRelations = array();
public function getAddress() {
if (array_key_exists('address', $this->_relations) ) {
if (!array_key_exists('address', $this->_retrievedRelations) ) {
$this->_retrievedRelations['address'] = $this->_domain->getAddress($this->_data['address']);
}
return $this->_retrievedRelations['address'];
}
return $this->_data['address'];
}
}
では、getAddress メソッド内で $domain オブジェクトを使用し、関係情報を Person クラスに保持しても問題ないでしょうか?
私は答えをずっと探していたので、答えてください。