Qual è la posizione migliore codice per definire i metodi di rapporto della tabella utilizzando modelli Zend Framework?

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

Domanda

Sto creando un semplice sistema di tag che mi permette di collegare un tag a quasi tutto nella mia applicazione. Per facilitare questo, ho creato una tabella chiamata "oggetti", a cui fa riferimento il mio modello "Oggetto".

Ho messa a punto tre modelli in questo momento:

  • Tag (con TagObject definito come dependentTable)
  • Oggetto (con TagObject definito come un dependedTable)
  • TagObject (sia con tag e oggetto definito nel referenceMap)

Ho già creato alcuni metodi semplici come fetchTagById() e fetchTagByName() nel mio modello di tag, ma ora voglio creare un metodo che ottiene i miei tag e le loro rispettive occorrenze della tabella degli oggetti, al fine di creare un semplice tag cloud.

Struttura-saggio, qual è la posizione migliore per creare questo metodo (utilizzando findDependentRowset () )?

In qualche modo sento che non è molto buona norma conservare questo nel mio modello di tag, ma riporlo nel mio modello TagObject sembra troppo scomodo, e potrebbe complicare le cose.

Qualche consiglio sarebbe molto apprezzato.

Grazie in anticipo.

È stato utile?

Soluzione

Se il metodo recupera i tag, allora dovrebbe essere nel modello di tag. Se si recupera oggetti, dovrebbe essere nel modello a oggetti. Dal momento che si stanno recuperando i tag e le loro occorrenze, dovrebbe essere nel modello di tag.

che chiamerei il modello Tag Tag non, dal momento Tag è una riga in Tag e nel ZF il modello è di solito un DataGateway ad un tavolo. Lo stesso vale per gli oggetti.

$tags = new Tags();
$cloud = $tags -> getWithObjectOccurrences();

In un'altra nota, non avrei mai nominare un "oggetto" o "oggetti", come è troppo generico di classe (gli oggetti sono un costrutto del linguaggio di base). Prendere in considerazione trovare un nome più descrittivo per questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top