在CodeIgniter的“视图”末尾添加die()是不好的做法吗?

时间:2013-05-08 10:08:35

标签: php codeigniter codeigniter-2 die

为了使事情正确并阻止CodeIgniter在加载的视图之后加载另一个视图,我需要在视图末尾添加die()(页脚)。这是一个不好的做法,这会导致任何问题吗?

这里的代码有点大,但我可以说有一个if语句加载一个视图,默认情况下该函数会加载另一个视图。因此,当if语句被传递时,它会加载定义的视图,然后该函数会在其后加载默认视图。我可以在我的控制器中使用die(),但它给了我一个空白页面,意味着在加载视图之前执行了die()。我不能使用redirect()。

3 个答案:

答案 0 :(得分:1)

这是一个不好的做法,因为死后没有代码会执行。 假设您在加载视图后要执行一些代码(Hooks),它将不会执行。

答案 1 :(得分:1)

如果你使用die()意味着应该有一些原因。你能否告诉我为什么你想在CI的观点结束时使用它?

答案 2 :(得分:1)

这是一种不好的做法。控制器级别的方法结束不是与请求相关的代码执行的实际结束。 Codeignitor有一个加载控制器然后调用其方法,然后在方法执行完成后执行其他代码的设置。

除CodeIgnitor内部代码外,还有钩子

http://ellislab.com/codeigniter/user-guide/general/hooks.html

如果你已经定义了" post controller"在控制器方法完成后执行的钩子,如果你将die放在你的代码中,那些就不会被执行。