-1

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

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

4

3 回答 3

1

如果您使用 die() 意味着应该有一些原因。您能告诉我为什么要在 CI 视图的末尾使用它吗?

于 2013-05-08T10:17:28.273 回答
1

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

除了 CodeIgnitor 内部代码,还有 hooks

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

如果您定义了“后控制器”钩子,这些钩子在控制器方法完成后执行,如果您die输入代码,这些钩子将不会被执行。

于 2013-05-08T10:18:26.843 回答
1

这是一个不好的做法,因为死后不会执行任何代码。假设你有一些代码(钩子)在加载视图后执行,它不会执行。

于 2013-05-08T10:13:59.250 回答