Ich habe eine Frage zu Doctrine 2 und Zend Framework.Wo sollte die Geschäftslogik platziert werden, wenn Doctrine 2 und Zend Framework verwendet werden
Wenn Sie Zend Framework ohne Doctrine standardmäßig verwenden, platzieren Sie Geschäftslogik in den Modellen. Aber wie Doktrin 2 hat Entitäten, wo sollte die Geschäftslogik platziert werden?
Ich hatte zuerst Modelle erstellt, in denen der Entity Manager Aufrufe an die Entitäten machte. Aber wenn ich Komponententests für meine Modelle ohne Datenbankaufrufe schreiben wollte. Ich musste den Entity Manager auf die Controller verschieben. Aber ich bekomme Geschäftslogik in meinen Controllern, was nicht gut ist.
Der folgende Code zeigt einen Teil eines Aktions Controller:
$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();
jemand sagen kann, was für dieses Problem die beste Praxis ist? Thx
Ich denke, es ist am besten, dass alle Code-Doktrin wird aus Controllern und in die Domäne Klassen verschoben, bitte mein Blog-Post überprüfen: http://www.cobbweb.me/2010/11/integrate-doctrine- 2-zend-framework-application/ – Cobby