使用模具皱眉/不好吗?

时间:2017-01-15 19:33:37

标签: php ajax structure die

我目前正在开发我的第一个正确的php网站,我发现自己,尤其是在编写ajax / php页面时,编写如下所示的程序代码:

//sanitize input
foo();

//handle request
bar();

//sends reply
echo json_encode( $result );

die;

function foo(){...}
function bar(){...}

我的代码清楚地分为页面顶部的程序步骤部分和最后的函数列表。

我喜欢用死;在这种情况下,因为它在代码的两个部分之间提供了清晰的切割,但是我想知道它是否由于某种原因而不受欢迎。

提前谢谢!

1 个答案:

答案 0 :(得分:4)

是的,我会说显式终止你的PHP脚本,这是一个坏主意。当然,它非常不同寻常,并且可能会混淆其他可能有一天会维护您的代码的程序员。

在您发布的示例中,没有实际需要使用die退出脚本,因为一旦解释器到达该点,它将无害地通过函数定义,并且脚本将在文件的结尾,正如任何人所期望的那样。所以你所做的事情是不必要的。

但它也很容易让人感到困惑:因为脚本的退出点现在已经隐藏在文件的中间,所以对于进行快速编辑的人来说,在{{1并且浪费时间试图弄清楚为什么他们的改变没有效果。没有程序员会假设脚本意味着在中间的某个随机点上死亡。

专业程序员通常将函数定义分组到文件的 top ,在调用它们的代码之前。这个约定可以追溯到像Pascal这样的结构化编程语言,它实际上强制执行此规则,但总的来说它很有意义。想想人们在日常生活中的沟通方式:当一个人在他们告诉你他们正在谈论的是什么之前开始谈论某件事情时,是不是会让人感到困惑?