如何在load->view或者parser->parse之后,直接到输出类?
在我的程序里,有一个全站都可以使用的函数,message($msg),作用是把$msg字符串变量以通知的形式展示。message函数调用了load->view()函数。问题是:假设在我的user/info界面有个判断用户是否注册,未注册的话就提示,伪代码如下:
if(用户未注册)
{
message('用户未注册');
}
//剩余代码:用户注册后的操作
但是这时候,调用message后确实将message模板展示出来了,但是剩余代码也接着执行,导致页面上出现了堆叠错误。
我知道可以用if...else...来实现,但是这样就会使程序复杂化,不利于管理。我曾经尝试在message函数的尾部加上exit();结果发现output都不执行了,页面返回为空白。
我想做到的效果是:在调用message后,直接load->view(message),将当前信息输出在页面,并且后续逻辑代码都不再执行。不知道大家有什么好主意么
你在exit退出之前手动调用output的方法$this->output->_display();这样就可以了 使用 return 重新導向頁面 Closer 发表于 2016-1-16 20:12
使用 return 重新導向頁面
不是很明白,能否详细一点,谢谢。 wx_s5pKlKNr 发表于 2016-1-16 21:52
不是很明白,能否详细一点,谢谢。
請參閱 : CI 手冊 - URL 輔助函數
記得先載入 $this->load->helper('url'); Michael锐生 发表于 2016-1-18 00:53
你在exit退出之前手动调用output的方法$this->output->_display();这样就可以了
谢谢,这个方法是正确的。而且我阅读了下Codeigniter流程,并没有略过太多的东西。 不要用 exit,用 return语句就可以了。
用了 exit 会导致 CI 后续的很多处理都无法进行。
页:
[1]