我可能会挑剔,但这样做会更好:
if ($loggedin) {
// normal process
}
else {
header('Location: login.php');
}
或者这个:
if (!$loggedin) {
header('Location: login.php');
exit();
}
// normal process
或者它没关系?
答案 0 :(得分:5)
我更喜欢第二种风格,因为“// normal process”可能是一段很长的代码,所以最后的}(来自else分支)可能有点令人困惑。
答案 1 :(得分:5)
我更喜欢第二个,因为这样“正常过程”因为简单的检查而不是已经有1个缩进级别。我认为PHP可能会优化这一点,因此性能无关紧要,所以在这一点上它是一个可读性的问题,第二个对我来说更有意义(“未登录,重定向,退出”)而不是将所有逻辑包装在一个巨大的IF。
答案 2 :(得分:1)
它确实没有任何区别。在我个人看来,第二个分支更容易理解,因为您不必滚动到最后查看用户未登录时发生的情况。
答案 3 :(得分:0)
重定向后,您应始终使用exit
或die
,以避免执行更多代码。
但除此之外,我也更喜欢第二种,因为$loggedin
是你“正常过程”的先决条件。
答案 4 :(得分:0)
绝对是第二个。它读起来更好,对你的其余代码效果更好。