在我的Zend Framework项目中,我使用了服务层,但是我真的不知道在哪里处理错误。
例如,假设我有UserService::updateUser($data);
如果我有:
$data = array(
'userId' => 2,
'firstName' => 'Jane',
'lastName' => 'Doe',
);
id为2的用户不存在?
您在何处以及如何处理此类错误?
答案 0 :(得分:1)
您可以转发到特定的控制器来处理所有业务错误,例如:
if ($error=true)
return $this->_forward('standarderror', 'businesserror', 'default',
array('msgtitle' => $this->view->translate('item_not_found'),
'msg' => $this->view->translate('item_not_found_msg')));
以及您的BusinesserrorController的样子:
class BusinesserrorController extends Zend_Controller_Action {
public function init() {
$this->_helper->viewRenderer->setNoRender();
}
public function standarderrorAction() {
$msgtitle = $this->_getParam('msgtitle');
$msg = $this->_getParam('msg');
$this->view->errortitle = $msgtitle;
$this->view->errormessage = $msg;
$this->view->nextstep = $this->view->translate('return_to_the_homepage');
$this->view->nextstepurl = "/";
echo $this->render('error/businesserror', null, true);
}
}
您也可以参与转发的网址;)