Tengo una pregunta relacionada con Doctrine 2 y Zend Framework.¿Dónde debe ubicarse la lógica de negocios al usar Doctrine 2 y Zend Framework
Si usa Zend Framework sin Doctrine, de forma predeterminada coloca la lógica comercial en los modelos. Pero como Doctrine 2 tiene Entidades, ¿dónde debería ubicarse la lógica de negocios?
Primero creé modelos donde el administrador de entidades hacía llamadas a las Entidades. Pero cuando quería escribir pruebas unitarias para mis modelos sin llamadas a la base de datos. Necesitaba mover el administrador de entidades a los controladores. Pero obtengo lógica comercial en mis controladores, lo cual no es bueno.
El código siguiente muestra una parte de una acción del controlador:
$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();
Puede alguien decir cuál es la mejor práctica para este problema? Thx
Creo que es mejor que todo el código que se desplaza un Doctrina de los controladores y en clases de dominio, compruebe mi blog: http://www.cobbweb.me/2010/11/integrate-doctrine- 2-zend-framework-application/ – Cobby