php - 如何在 Yii 中丢弃已经渲染的 View

标签 php yii error-handling

我有一个错误处理函数,它是这样绑定(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/

相关文章:

php - Laravel 在哪里存储配置的实例逻辑?

Yii 自定义 CGridView Items 模板

php - 如何在yii框架网格的一列中放置两个imagelink?

php - YII 在 REST GET 请求中获取请求体

c# - WebApi2 OData返回自定义错误对象

java - 抛出 main 函数不会捕获错误

c++ - 错误处理理论?

php - 提交表单后,我的页脚更改位置 PHP MYSQL

php - bool 搜索运算符优化,尊重引用的术语

php - MYSQL PHP Inner Join 比较不同的值