Недавно я обнаружил, что я кодирую несколько слоев приложения для достижения чего-то очень простого.
Например,
$domain = new Application_Model_Domain();
$table = $domain->getMapper()->getDbTable();
$row = $table->find($id)->current();
$row->delete();
Все это можно легко сделатьв методе delete()
в моем слое обслуживания.Тем не менее, я перенес эту функциональность в картограф модели:
# service layer
$domain = new Application_Model_Domain();
$domain->getMapper()->delete($id);
# mapper
function delete($id) {
$table = $this->getDbTable();
$row = $table->find($id)->current();
$row->delete();
}
Какой подход вы считаете наиболее подходящим?