ドメインエンティティメソッド内から依存/親を取得する
質問
エンティティから依存/親オブジェクトを取得するにはどうすればよいですか。
$person->getAddress();
これにより、データベースからその人のAddressオブジェクトが取得され、オブジェクトとして返されます。これはそれを行うのに良い方法ですか?これが問題ない場合、コードはどのように見えるべきですか?
これを行うと、オブジェクト自体が、アドレスが関連するエンティティ/値オブジェクトであることを認識する必要があります。 この種の構文が必要な理由は、プレゼンテーション層できれいに見えるためです。
個人クラスは次のようになります。
class Person {
protected エンティティから依存/親オブジェクトを取得するにはどうすればよいですか。
$person->getAddress();
これにより、データベースからその人のAddressオブジェクトが取得され、オブジェクトとして返されます。これはそれを行うのに良い方法ですか?これが問題ない場合、コードはどのように見えるべきですか?
これを行うと、オブジェクト自体が、アドレスが関連するエンティティ/値オブジェクトであることを認識する必要があります。
この種の構文が必要な理由は、プレゼンテーション層できれいに見えるためです。
個人クラスは次のようになります。
<*>
では、getAddressメソッド内で$ domainオブジェクトを使用し、Personクラスにリレーション情報を保持しても大丈夫ですか?
答えを探していたので答えてください。
domain = null; // domain is assigned when instantiated
protected エンティティから依存/親オブジェクトを取得するにはどうすればよいですか。
$person->getAddress();
これにより、データベースからその人のAddressオブジェクトが取得され、オブジェクトとして返されます。これはそれを行うのに良い方法ですか?これが問題ない場合、コードはどのように見えるべきですか?
これを行うと、オブジェクト自体が、アドレスが関連するエンティティ/値オブジェクトであることを認識する必要があります。
この種の構文が必要な理由は、プレゼンテーション層できれいに見えるためです。
個人クラスは次のようになります。
<*>
では、getAddressメソッド内で$ domainオブジェクトを使用し、Personクラスにリレーション情報を保持しても大丈夫ですか?
答えを探していたので答えてください。
data = array('name', 'address');
protected エンティティから依存/親オブジェクトを取得するにはどうすればよいですか。
$person->getAddress();
これにより、データベースからその人のAddressオブジェクトが取得され、オブジェクトとして返されます。これはそれを行うのに良い方法ですか?これが問題ない場合、コードはどのように見えるべきですか?
これを行うと、オブジェクト自体が、アドレスが関連するエンティティ/値オブジェクトであることを認識する必要があります。
この種の構文が必要な理由は、プレゼンテーション層できれいに見えるためです。
個人クラスは次のようになります。
<*>
では、getAddressメソッド内で$ domainオブジェクトを使用し、Personクラスにリレーション情報を保持しても大丈夫ですか?
答えを探していたので答えてください。
relations = array(
'address'=>array(
'class'=>'Address'
)
);
protected エンティティから依存/親オブジェクトを取得するにはどうすればよいですか。
$person->getAddress();
これにより、データベースからその人のAddressオブジェクトが取得され、オブジェクトとして返されます。これはそれを行うのに良い方法ですか?これが問題ない場合、コードはどのように見えるべきですか?
これを行うと、オブジェクト自体が、アドレスが関連するエンティティ/値オブジェクトであることを認識する必要があります。
この種の構文が必要な理由は、プレゼンテーション層できれいに見えるためです。
個人クラスは次のようになります。
<*>
では、getAddressメソッド内で$ domainオブジェクトを使用し、Personクラスにリレーション情報を保持しても大丈夫ですか?
答えを探していたので答えてください。
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クラスにリレーション情報を保持しても大丈夫ですか?
答えを探していたので答えてください。
解決
Zend_Db_Table Relationships をご覧ください。彼らはまさにそれを行うことができます。独自の実装を考え出す代わりに、 Zend_Db_Table
today を使用するか、Zend Frameworkのあなたの質問に対する設計決定のためのコード。非常に信頼できるソースです。
他のヒント
まず、質問のタイトルがあまり明確ではないと思います。 何が求められているかを完全に理解している...私の意見では、タイトルと投稿の両方を実際に編集して少し整理する必要があります。
投稿には5つの質問が含まれているようです(言い換えれば):
- エンティティから依存/親オブジェクトを取得するにはどうすればよいですか
-
$ person-&gt; getAddress()
は、アドレスオブジェクトを取得する良い方法です データベースの人? - これが適切な方法である場合、コードはどのようになりますか?
- getAddressメソッド内で$ domainオブジェクトを使用しても大丈夫ですか?
- 関係情報をPersonクラスに保持しても大丈夫ですか?
回答に関する限り:
- この場合、
$ person-&gt; getAddress()
は良い選択であると思われます。 ;-) - 問題は表示されません:Person HAS A アドレス。個人オブジェクトに要求するアドレスを取得するには
- 少し混乱しているものの、与えられたコード例はこれに答えているようです。アドレスをメンバーオブジェクトにしただけですが、それ以外はほとんど同じです
- &amp; 5.ほとんどの場合、好み、優先度、デザイン依存性の問題です。これに対する明確な答えは本当にありません。また、ここでセマンティクスを議論していますか、それとも実際のシナリオですか?
回答Nr.3に沿ったコード:(リスト内で適切に機能させることができませんでした)
class Person {
protected まず、質問のタイトルがあまり明確ではないと思います。
何が求められているかを完全に理解している...私の意見では、タイトルと投稿の両方を実際に編集して少し整理する必要があります。
投稿には5つの質問が含まれているようです(言い換えれば):
- エンティティから依存/親オブジェクトを取得するにはどうすればよいですか
-
$ person-&gt; getAddress()
は、アドレスオブジェクトを取得する良い方法です
データベースの人?
- これが適切な方法である場合、コードはどのようになりますか?
- getAddressメソッド内で$ domainオブジェクトを使用しても大丈夫ですか?
- 関係情報をPersonクラスに保持しても大丈夫ですか?
回答に関する限り:
- この場合、
$ person-&gt; getAddress()
は良い選択であると思われます。 ;-)
- 問題は表示されません:Person HAS A アドレス。個人オブジェクトに要求するアドレスを取得するには
- 少し混乱しているものの、与えられたコード例はこれに答えているようです。アドレスをメンバーオブジェクトにしただけですが、それ以外はほとんど同じです
- &amp; 5.ほとんどの場合、好み、優先度、デザイン依存性の問題です。これに対する明確な答えは本当にありません。また、ここでセマンティクスを議論していますか、それとも実際のシナリオですか?
回答Nr.3に沿ったコード:(リスト内で適切に機能させることができませんでした)
<*>domain = null; // domain is assigned when instantiated
protected まず、質問のタイトルがあまり明確ではないと思います。
何が求められているかを完全に理解している...私の意見では、タイトルと投稿の両方を実際に編集して少し整理する必要があります。
投稿には5つの質問が含まれているようです(言い換えれば):
- エンティティから依存/親オブジェクトを取得するにはどうすればよいですか
-
$ person-&gt; getAddress()
は、アドレスオブジェクトを取得する良い方法です
データベースの人?
- これが適切な方法である場合、コードはどのようになりますか?
- getAddressメソッド内で$ domainオブジェクトを使用しても大丈夫ですか?
- 関係情報をPersonクラスに保持しても大丈夫ですか?
回答に関する限り:
- この場合、
$ person-&gt; getAddress()
は良い選択であると思われます。 ;-)
- 問題は表示されません:Person HAS A アドレス。個人オブジェクトに要求するアドレスを取得するには
- 少し混乱しているものの、与えられたコード例はこれに答えているようです。アドレスをメンバーオブジェクトにしただけですが、それ以外はほとんど同じです
- &amp; 5.ほとんどの場合、好み、優先度、デザイン依存性の問題です。これに対する明確な答えは本当にありません。また、ここでセマンティクスを議論していますか、それとも実際のシナリオですか?
回答Nr.3に沿ったコード:(リスト内で適切に機能させることができませんでした)
<*>address; // object
public function getAddress() {
if (!isset($this->_address) ) {
$this->_address = $this->_domain->getAddressForPerson($this); // assuming $this contains some sort of ID
}
return $this->_address;
}
}