Ho una domanda relativa a Doctrine 2 e Zend Framework.Dove dovrebbe essere posizionata la logica aziendale quando si utilizza Doctrine 2 e Zend Framework
Se si utilizza Zend Framework senza Doctrine, per impostazione predefinita si inserisce la logica di business nei modelli. Ma come Doctrine 2 ha Entità dove dovrebbe essere collocata la logica aziendale?
Prima ho creato modelli in cui il gestore di entità ha effettuato chiamate alle entità. Ma quando volevo scrivere test unitari per i miei modelli senza chiamate al database. Avevo bisogno di spostare l'entity manager sui controller. Ma ho una logica di business nei miei controller che non va bene.
Il codice seguente mostra una parte di un'azione di controllo:
$customerAddress = $this->_model->save($values, $id);
$this->_em->persist($customerAddress);
// Update default billing address
$defaultBilling = $this->_model->saveDefaultBilling($values, $customerAddress);
if ($defaultBilling != FALSE) {
$this->_em->persist($defaultBilling);
}
// Update default shipping address
$defaultShipping = $this->_model->saveDefaultShipping($values, $customerAddress);
if ($defaultShipping != FALSE) {
$this->_em->persist($defaultShipping);
}
$this->_em->flush();
Qualcuno può dire che cosa è la pratica migliore per questo problema? Thx
penso che sia meglio che tutto il codice dottrina è spostato fuori di controllori e nelle classi di dominio, si prega di controllare il mio post sul blog: http://www.cobbweb.me/2010/11/integrate-doctrine- 2-zend-framework-application/ – Cobby