如何在block层redirect而不执行后面的代码?
//cnontroller
class TestController{
public function actionIndex(){
$data = $this->getblock()->getLastData();
$this->render($this->action->id,$data);
}
}
//block
class index{
public function getLastData(){
if(true){
Yii::$service->page->message->adderror('跳转前的消息');
Yii::$service->url->redirect(['site/main','name'=>$name]);
//这里如果return test/inde会报错没有$data
//这里如果不return 可以跳转,但是site/main就不能得到flashmessage;
}
Yii::$service->page->message->adderror('如果不return这里还是可以执行的,test/index截取了flashmessage');
return $data;
}
}
试了半天好像除了exit;没有找到其他的解决办法,terry看你的url service 里面注释的代码似乎也有这样的问题,你是怎么解决的呢?