愚蠢的问题:在我的代码中,我收集了要在缓冲区中显示的所有消息。在下面的代码中,如果我的Try {}失败并直接进入Catch {},错误将被缓冲,但控制器将无法分配给视图,对吧?你们怎么解决这种情况?
MyController
{
//...
try {
// ... do something
$this->_messages[] = array('success', 'Thank You.');
}
catch (Exception $e) {
$this->_messages[] = array('error', 'Oops! There was an error.');
}
/**
* flush all buffered messages to the view
*/
$flashmsg = $this->_flashMessenger->getMessages();
if (!empty($flashmsg)) $this->_messages[] = $flashmsg[0];
$this->view->messages = $this->_messages;
}
答案 0 :(得分:0)
我不喜欢这种做法! 在我的应用程序中,如果有东西进入catch意味着应用程序被破坏,则记录错误并重定向到查看类型“哎呀...抱歉”! 当我打印到Messages视图时,对于应用程序流的固有逻辑总是很重要的,我可以决定消息的类型(成功还是坏)而不是捕获!