为了使事情正确并防止 CodeIgniter 在加载视图后加载另一个视图,我需要die()
在视图末尾添加(页脚)。这是一种不好的做法吗?这会导致任何问题吗?
代码有点大,要在这里发布,但我可以说有一个 if 语句加载一个视图,默认情况下该函数加载另一个视图。因此,当 if 语句通过时,它会加载定义的视图,然后函数在其后加载默认视图。我可以在我的控制器中使用 die(),但它给了我一个空白页面,这意味着 die() 在加载视图之前已被执行。而且我也不能使用redirect()。
为了使事情正确并防止 CodeIgniter 在加载视图后加载另一个视图,我需要die()
在视图末尾添加(页脚)。这是一种不好的做法吗?这会导致任何问题吗?
代码有点大,要在这里发布,但我可以说有一个 if 语句加载一个视图,默认情况下该函数加载另一个视图。因此,当 if 语句通过时,它会加载定义的视图,然后函数在其后加载默认视图。我可以在我的控制器中使用 die(),但它给了我一个空白页面,这意味着 die() 在加载视图之前已被执行。而且我也不能使用redirect()。
如果您使用 die() 意味着应该有一些原因。您能告诉我为什么要在 CI 视图的末尾使用它吗?
这是一种不好的做法。控制器级别的方法结束并不是与请求相关的代码执行的实际结束。Codeignitor 的设置是加载一个控制器,然后调用它的方法,然后在方法执行完成后执行其他代码。
除了 CodeIgnitor 内部代码,还有 hooks
http://ellislab.com/codeigniter/user-guide/general/hooks.html
如果您定义了“后控制器”钩子,这些钩子在控制器方法完成后执行,如果您die
输入代码,这些钩子将不会被执行。
这是一个不好的做法,因为死后不会执行任何代码。假设你有一些代码(钩子)在加载视图后执行,它不会执行。