Recupero dipendente / padre dall'interno del metodo dell'entità dominio
Domanda
Come si farebbe per recuperare un oggetto dipendente / padre da un'entità.
$person->getAddress();
Questo dovrebbe recuperare l'oggetto Address per quella persona dal database e restituirlo come oggetto. È un buon modo per farlo e come dovrebbe essere il codice se questo è ok da fare.
Ciò significherebbe che l'oggetto stesso dovrebbe essere consapevole che l'indirizzo è un oggetto entità / valore a cui è correlato. Perché voglio questo tipo di sintassi è perché sembrerà pulito nel livello di presentazione.
La classe persona sarebbe simile a questa:
class Person {
protected Come si farebbe per recuperare un oggetto dipendente / padre da un'entità.
$person->getAddress();
Questo dovrebbe recuperare l'oggetto Address per quella persona dal database e restituirlo come oggetto. È un buon modo per farlo e come dovrebbe essere il codice se questo è ok da fare.
Ciò significherebbe che l'oggetto stesso dovrebbe essere consapevole che l'indirizzo è un oggetto entità / valore a cui è correlato.
Perché voglio questo tipo di sintassi è perché sembrerà pulito nel livello di presentazione.
La classe persona sarebbe simile a questa:
<*>
Quindi va bene usare l'oggetto $ domain all'interno del metodo getAddress e conservare le informazioni sulla relazione nella classe Person?
Per favore rispondi perché ho cercato dappertutto una risposta.
domain = null; // domain is assigned when instantiated
protected Come si farebbe per recuperare un oggetto dipendente / padre da un'entità.
$person->getAddress();
Questo dovrebbe recuperare l'oggetto Address per quella persona dal database e restituirlo come oggetto. È un buon modo per farlo e come dovrebbe essere il codice se questo è ok da fare.
Ciò significherebbe che l'oggetto stesso dovrebbe essere consapevole che l'indirizzo è un oggetto entità / valore a cui è correlato.
Perché voglio questo tipo di sintassi è perché sembrerà pulito nel livello di presentazione.
La classe persona sarebbe simile a questa:
<*>
Quindi va bene usare l'oggetto $ domain all'interno del metodo getAddress e conservare le informazioni sulla relazione nella classe Person?
Per favore rispondi perché ho cercato dappertutto una risposta.
data = array('name', 'address');
protected Come si farebbe per recuperare un oggetto dipendente / padre da un'entità.
$person->getAddress();
Questo dovrebbe recuperare l'oggetto Address per quella persona dal database e restituirlo come oggetto. È un buon modo per farlo e come dovrebbe essere il codice se questo è ok da fare.
Ciò significherebbe che l'oggetto stesso dovrebbe essere consapevole che l'indirizzo è un oggetto entità / valore a cui è correlato.
Perché voglio questo tipo di sintassi è perché sembrerà pulito nel livello di presentazione.
La classe persona sarebbe simile a questa:
<*>
Quindi va bene usare l'oggetto $ domain all'interno del metodo getAddress e conservare le informazioni sulla relazione nella classe Person?
Per favore rispondi perché ho cercato dappertutto una risposta.
relations = array(
'address'=>array(
'class'=>'Address'
)
);
protected Come si farebbe per recuperare un oggetto dipendente / padre da un'entità.
$person->getAddress();
Questo dovrebbe recuperare l'oggetto Address per quella persona dal database e restituirlo come oggetto. È un buon modo per farlo e come dovrebbe essere il codice se questo è ok da fare.
Ciò significherebbe che l'oggetto stesso dovrebbe essere consapevole che l'indirizzo è un oggetto entità / valore a cui è correlato.
Perché voglio questo tipo di sintassi è perché sembrerà pulito nel livello di presentazione.
La classe persona sarebbe simile a questa:
<*>
Quindi va bene usare l'oggetto $ domain all'interno del metodo getAddress e conservare le informazioni sulla relazione nella classe Person?
Per favore rispondi perché ho cercato dappertutto una risposta.
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'];
}
}
Quindi va bene usare l'oggetto $ domain all'interno del metodo getAddress e conservare le informazioni sulla relazione nella classe Person?
Per favore rispondi perché ho cercato dappertutto una risposta.
Soluzione
Dai un'occhiata a Zend_Db_Table Relationships . Permettono di fare esattamente questo e molto altro. Puoi semplicemente usare Zend_Db_Table
oggi , invece di provare a trovare la tua implementazione, oppure puoi studiare codice per le loro decisioni di progettazione scritte alle tue domande. È una fonte abbastanza autorevole.
Altri suggerimenti
In primo luogo penso che il titolo della domanda non sia molto chiaro, in secondo luogo non lo sono sono assolutamente sicuro di aver capito cosa mi viene chiesto ... Secondo me sia il titolo che il post dovrebbero essere davvero modificati per ripulirlo un po '.
Il post sembra contenere 5 domande (se potessi parafrasare):
- Come si farebbe per recuperare un oggetto dipendente / genitore da un'entità?
-
$ person- > getAddress ()
è un buon modo per recuperare l'oggetto Address per un persona dal database? - Se questo è un buon modo per farlo, come sarebbe il codice?
- Va bene usare l'oggetto $ domain all'interno del metodo getAddress?
- Va bene conservare le informazioni sulle relazioni nella classe Person?
Per quanto riguarda le risposte:
- In questo caso
$ person- > getAddress ()
sembra una buona scelta, sai, piacevole e descrittiva. ; -) - Non vedo alcun problema: la persona HA UN indirizzo, per ottenere quell'indirizzo che si chiede all'oggetto persona è
- L'esempio di codice fornito sembra rispondere a questa domanda, sebbene sia un po 'ingombra. Avrei appena fatto indirizzare un oggetto membro, ma a parte questo è principalmente lo stesso
- & amp; 5. Direi che sono principalmente una questione di gusti, priorità e dipendenza dal design. Non c'è davvero una risposta chiara a questo. Inoltre, stiamo discutendo la semantica qui o uno scenario di vita reale?
Qualche codice da abbinare alla risposta n. 3: (Non sono riuscito a farlo funzionare correttamente nell'elenco)
class Person {
protected In primo luogo penso che il titolo della domanda non sia molto chiaro, in secondo luogo non lo sono
sono assolutamente sicuro di aver capito cosa mi viene chiesto ... Secondo me sia il titolo che il post dovrebbero essere davvero modificati per ripulirlo un po '.
Il post sembra contenere 5 domande (se potessi parafrasare):
- Come si farebbe per recuperare un oggetto dipendente / genitore da un'entità?
-
$ person- > getAddress ()
è un buon modo per recuperare l'oggetto Address per un
persona dal database?
- Se questo è un buon modo per farlo, come sarebbe il codice?
- Va bene usare l'oggetto $ domain all'interno del metodo getAddress?
- Va bene conservare le informazioni sulle relazioni nella classe Person?
Per quanto riguarda le risposte:
- In questo caso
$ person- > getAddress ()
sembra una buona scelta, sai, piacevole e descrittiva. ; -)
- Non vedo alcun problema: la persona HA UN indirizzo, per ottenere quell'indirizzo che si chiede all'oggetto persona è
- L'esempio di codice fornito sembra rispondere a questa domanda, sebbene sia un po 'ingombra. Avrei appena fatto indirizzare un oggetto membro, ma a parte questo è principalmente lo stesso
- & amp; 5. Direi che sono principalmente una questione di gusti, priorità e dipendenza dal design. Non c'è davvero una risposta chiara a questo. Inoltre, stiamo discutendo la semantica qui o uno scenario di vita reale?
Qualche codice da abbinare alla risposta n. 3: (Non sono riuscito a farlo funzionare correttamente nell'elenco)
<*>domain = null; // domain is assigned when instantiated
protected In primo luogo penso che il titolo della domanda non sia molto chiaro, in secondo luogo non lo sono
sono assolutamente sicuro di aver capito cosa mi viene chiesto ... Secondo me sia il titolo che il post dovrebbero essere davvero modificati per ripulirlo un po '.
Il post sembra contenere 5 domande (se potessi parafrasare):
- Come si farebbe per recuperare un oggetto dipendente / genitore da un'entità?
-
$ person- > getAddress ()
è un buon modo per recuperare l'oggetto Address per un
persona dal database?
- Se questo è un buon modo per farlo, come sarebbe il codice?
- Va bene usare l'oggetto $ domain all'interno del metodo getAddress?
- Va bene conservare le informazioni sulle relazioni nella classe Person?
Per quanto riguarda le risposte:
- In questo caso
$ person- > getAddress ()
sembra una buona scelta, sai, piacevole e descrittiva. ; -)
- Non vedo alcun problema: la persona HA UN indirizzo, per ottenere quell'indirizzo che si chiede all'oggetto persona è
- L'esempio di codice fornito sembra rispondere a questa domanda, sebbene sia un po 'ingombra. Avrei appena fatto indirizzare un oggetto membro, ma a parte questo è principalmente lo stesso
- & amp; 5. Direi che sono principalmente una questione di gusti, priorità e dipendenza dal design. Non c'è davvero una risposta chiara a questo. Inoltre, stiamo discutendo la semantica qui o uno scenario di vita reale?
Qualche codice da abbinare alla risposta n. 3: (Non sono riuscito a farlo funzionare correttamente nell'elenco)
<*>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;
}
}