我有一个错误处理函数,它是这样绑定(bind)的:
Yii::app()->attachEventHandler('onError',array($this,'handleError'));
Yii::app()->attachEventHandler('onException',array($this,'handleError'));
现在这个函数呈现一个带有错误描述的 View :
public function handleError(CEvent $event) {
// simplified
$event->handled = true;
$this->render("/main/error");
}
但是,通常部分 View 已经呈现,这并没有丢弃它 - 实际上,它会将错误 View 呈现到旧 View 中,这会导致 HTML 和布局损坏。
有没有办法丢弃已经渲染的内容,并继续清理页面?
我试过
ob_end_clean()
但这没有任何区别。
最佳答案
去死吧,愚蠢的Yii。
不会冒另一个风滚草的风险。
诀窍是使用
while (@ob_end_clean()) {}
因为显然使用了多个缓冲区。
关于php - 如何在 Yii 中丢弃已经渲染的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24517550/