Récupération de la méthode des entités dépendantes / parent à partir de l'intérieur du domaine

StackOverflow https://stackoverflow.com/questions/1401323

Question

Comment peut-on récupérer un objet dépendant / parent d'une entité?

$person->getAddress();

Ceci devrait récupérer l’objet adresse de cette personne dans la base de données et le renvoyer sous forme d’objet. Est-ce un bon moyen de le faire et à quoi le code devrait-il ressembler si cela vous convient?

Cela signifierait que l'objet lui-même devrait savoir que l'adresse est un objet entité / valeur auquel il est associé. Pourquoi je veux ce genre de syntaxe, c'est parce que ça aura l'air propre dans la couche de présentation.

La classe de personne ressemblerait à ceci:

class Person {
  protected 

Comment peut-on récupérer un objet dépendant / parent d'une entité?

$person->getAddress();

Ceci devrait récupérer l’objet adresse de cette personne dans la base de données et le renvoyer sous forme d’objet. Est-ce un bon moyen de le faire et à quoi le code devrait-il ressembler si cela vous convient?

Cela signifierait que l'objet lui-même devrait savoir que l'adresse est un objet entité / valeur auquel il est associé. Pourquoi je veux ce genre de syntaxe, c'est parce que ça aura l'air propre dans la couche de présentation.

La classe de personne ressemblerait à ceci:

<*>

Alors, est-il correct d'utiliser l'objet $ domain dans la méthode getAddress et de conserver les informations de relation dans la classe Person?

S'il vous plaît répondez parce que j'ai cherché partout une réponse.

domain = null; // domain is assigned when instantiated protected

Comment peut-on récupérer un objet dépendant / parent d'une entité?

$person->getAddress();

Ceci devrait récupérer l’objet adresse de cette personne dans la base de données et le renvoyer sous forme d’objet. Est-ce un bon moyen de le faire et à quoi le code devrait-il ressembler si cela vous convient?

Cela signifierait que l'objet lui-même devrait savoir que l'adresse est un objet entité / valeur auquel il est associé. Pourquoi je veux ce genre de syntaxe, c'est parce que ça aura l'air propre dans la couche de présentation.

La classe de personne ressemblerait à ceci:

<*>

Alors, est-il correct d'utiliser l'objet $ domain dans la méthode getAddress et de conserver les informations de relation dans la classe Person?

S'il vous plaît répondez parce que j'ai cherché partout une réponse.

data = array('name', 'address'); protected

Comment peut-on récupérer un objet dépendant / parent d'une entité?

$person->getAddress();

Ceci devrait récupérer l’objet adresse de cette personne dans la base de données et le renvoyer sous forme d’objet. Est-ce un bon moyen de le faire et à quoi le code devrait-il ressembler si cela vous convient?

Cela signifierait que l'objet lui-même devrait savoir que l'adresse est un objet entité / valeur auquel il est associé. Pourquoi je veux ce genre de syntaxe, c'est parce que ça aura l'air propre dans la couche de présentation.

La classe de personne ressemblerait à ceci:

<*>

Alors, est-il correct d'utiliser l'objet $ domain dans la méthode getAddress et de conserver les informations de relation dans la classe Person?

S'il vous plaît répondez parce que j'ai cherché partout une réponse.

relations = array( 'address'=>array( 'class'=>'Address' ) ); protected

Comment peut-on récupérer un objet dépendant / parent d'une entité?

$person->getAddress();

Ceci devrait récupérer l’objet adresse de cette personne dans la base de données et le renvoyer sous forme d’objet. Est-ce un bon moyen de le faire et à quoi le code devrait-il ressembler si cela vous convient?

Cela signifierait que l'objet lui-même devrait savoir que l'adresse est un objet entité / valeur auquel il est associé. Pourquoi je veux ce genre de syntaxe, c'est parce que ça aura l'air propre dans la couche de présentation.

La classe de personne ressemblerait à ceci:

<*>

Alors, est-il correct d'utiliser l'objet $ domain dans la méthode getAddress et de conserver les informations de relation dans la classe Person?

S'il vous plaît répondez parce que j'ai cherché partout une réponse.

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']; } }

Alors, est-il correct d'utiliser l'objet $ domain dans la méthode getAddress et de conserver les informations de relation dans la classe Person?

S'il vous plaît répondez parce que j'ai cherché partout une réponse.

Était-ce utile?

La solution

Consultez les Relations entre Zend_Db_Table . Ils permettent de faire exactement cela, et bien plus encore. Vous pouvez simplement utiliser Zend_Db_Table aujourd'hui , au lieu d'essayer de créer votre propre implémentation, ou vous pouvez étudier le code pour leurs décisions de conception en réponse à vos questions. C'est une source faisant autorité.

Autres conseils

D'abord, je pense que le titre de la question n'est pas très clair, ensuite, je ne le suis pas je suis tout à fait sûr de comprendre ce qui est demandé ... À mon avis, le titre et le message doivent vraiment être modifiés pour le nettoyer un peu.

Le message semble contenir 5 questions (si je peux paraphraser):

  1. Comment peut-on récupérer un objet dépendant / parent d'une entité?
  2. Est-ce que $ person- > getAddress () est un bon moyen de récupérer l'objet Address pour un personne de la base de données?
  3. Si c'était un bon moyen de le faire, à quoi ressemblerait le code?
  4. Puis-je utiliser l'objet $ domain dans la méthode getAddress?
  5. Est-il possible de conserver les informations sur les relations dans la classe Person?

En ce qui concerne les réponses:

  1. Dans ce cas, $ person- > getAddress () semble un bon choix, vous savez, agréable et descriptif. ; -)
  2. Je ne vois pas de problème: la personne A UNE adresse. Pour obtenir cette adresse, vous demandez à l'objet personne de la suivre.
  3. L'exemple de code donné semble répondre à cette question, bien qu'il soit un peu encombré. Je viens de faire l'adresse un objet membre, mais à part ça, c'est la même chose
  4. & amp; 5. Je dirais que ce sont principalement une question de goût, de priorité et de dépendance à la conception. Il n'y a pas vraiment de réponse nette à cette question. De plus, discutons-nous ici de la sémantique ou d’un scénario réel?

Du code pour accompagner la réponse n ° 3: (je ne pouvais pas le faire fonctionner correctement dans la liste)

class Person {
    protected 

D'abord, je pense que le titre de la question n'est pas très clair, ensuite, je ne le suis pas je suis tout à fait sûr de comprendre ce qui est demandé ... À mon avis, le titre et le message doivent vraiment être modifiés pour le nettoyer un peu.

Le message semble contenir 5 questions (si je peux paraphraser):

  1. Comment peut-on récupérer un objet dépendant / parent d'une entité?
  2. Est-ce que $ person- > getAddress () est un bon moyen de récupérer l'objet Address pour un personne de la base de données?
  3. Si c'était un bon moyen de le faire, à quoi ressemblerait le code?
  4. Puis-je utiliser l'objet $ domain dans la méthode getAddress?
  5. Est-il possible de conserver les informations sur les relations dans la classe Person?

En ce qui concerne les réponses:

  1. Dans ce cas, $ person- > getAddress () semble un bon choix, vous savez, agréable et descriptif. ; -)
  2. Je ne vois pas de problème: la personne A UNE adresse. Pour obtenir cette adresse, vous demandez à l'objet personne de la suivre.
  3. L'exemple de code donné semble répondre à cette question, bien qu'il soit un peu encombré. Je viens de faire l'adresse un objet membre, mais à part ça, c'est la même chose
  4. & amp; 5. Je dirais que ce sont principalement une question de goût, de priorité et de dépendance à la conception. Il n'y a pas vraiment de réponse nette à cette question. De plus, discutons-nous ici de la sémantique ou d’un scénario réel?

Du code pour accompagner la réponse n ° 3: (je ne pouvais pas le faire fonctionner correctement dans la liste)

<*>domain = null; // domain is assigned when instantiated protected

D'abord, je pense que le titre de la question n'est pas très clair, ensuite, je ne le suis pas je suis tout à fait sûr de comprendre ce qui est demandé ... À mon avis, le titre et le message doivent vraiment être modifiés pour le nettoyer un peu.

Le message semble contenir 5 questions (si je peux paraphraser):

  1. Comment peut-on récupérer un objet dépendant / parent d'une entité?
  2. Est-ce que $ person- > getAddress () est un bon moyen de récupérer l'objet Address pour un personne de la base de données?
  3. Si c'était un bon moyen de le faire, à quoi ressemblerait le code?
  4. Puis-je utiliser l'objet $ domain dans la méthode getAddress?
  5. Est-il possible de conserver les informations sur les relations dans la classe Person?

En ce qui concerne les réponses:

  1. Dans ce cas, $ person- > getAddress () semble un bon choix, vous savez, agréable et descriptif. ; -)
  2. Je ne vois pas de problème: la personne A UNE adresse. Pour obtenir cette adresse, vous demandez à l'objet personne de la suivre.
  3. L'exemple de code donné semble répondre à cette question, bien qu'il soit un peu encombré. Je viens de faire l'adresse un objet membre, mais à part ça, c'est la même chose
  4. & amp; 5. Je dirais que ce sont principalement une question de goût, de priorité et de dépendance à la conception. Il n'y a pas vraiment de réponse nette à cette question. De plus, discutons-nous ici de la sémantique ou d’un scénario réel?

Du code pour accompagner la réponse n ° 3: (je ne pouvais pas le faire fonctionner correctement dans la liste)

<*>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; } }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top