Mam pytanie związane z Doctrine 2 i Zend Framework.Gdzie powinna być umieszczona logika biznesowa podczas używania Doctrine 2 i Zend Framework
Jeśli używasz Zend Framework bez Doctrine domyślnie umieszczasz logikę biznesową w modelach. Ale jak Doctrine 2 ma Entity, gdzie powinna być logika biznesowa?
Najpierw stworzyłem modele, w których podmiot zarządzający podmiotem wykonywał połączenia z podmiotami. Ale kiedy chciałem napisać testy jednostkowe dla moich modeli bez wywołań bazy danych. Musiałem przenieść zarządcę jednostki do kontrolerów. Ale dostaję logiki biznesowej w moich kontrolerach, co nie jest dobre.
Poniższy kod przedstawia część działania kontrolera:
$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();
Może ktoś powiedzieć co jest najlepsze praktyki dla tego problemu? Thx
Myślę, że to najlepsze, że cały kod doktryny jest przesunięty z kontrolerów i do klas domeny, proszę sprawdzić moje blogu: http://www.cobbweb.me/2010/11/integrate-doctrine- 2-zend-framework-application/ – Cobby