Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用模具是不受欢迎的/不好的吗?_Php_Ajax_Structure_Die - Fatal编程技术网

Php 使用模具是不受欢迎的/不好的吗?

Php 使用模具是不受欢迎的/不好的吗?,php,ajax,structure,die,Php,Ajax,Structure,Die,我目前正在开发我的第一个合适的php网站,我发现自己,特别是在编写ajax/php页面时,正在编写如下所示的过程代码: //sanitize input foo(); //handle request bar(); //sends reply echo json_encode( $result ); die; function foo(){...} function bar(){...} 其中,我的代码在页面顶部清楚地分为一步一步的过程部分,在最后是一个函数列表 我喜欢使用模具;在这种

我目前正在开发我的第一个合适的php网站,我发现自己,特别是在编写ajax/php页面时,正在编写如下所示的过程代码:

//sanitize input
foo();

//handle request
bar();

//sends reply
echo json_encode( $result );

die;

function foo(){...}
function bar(){...}
其中,我的代码在页面顶部清楚地分为一步一步的过程部分,在最后是一个函数列表

我喜欢使用模具;在这种情况下,因为它在代码的两个部分之间提供了一个明确的界限,但我想知道它是否因为某种原因而受到反对


提前谢谢你

是的,我认为像这样显式终止PHP脚本是个坏主意。当然,这是非常非常规的,并且可能会让其他可能有一天维护您的代码的程序员感到困惑

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

但是它也很令人困惑:因为脚本的退出点现在被埋藏在文件的中间,所以很容易有人做一个快速编辑来添加代码<<代码>模具>代码,浪费时间试图找出为什么它们的改变没有效果。没有一个程序员会认为脚本注定会在中间的某个随机点死掉


专业程序员通常在调用函数定义的代码之前,将函数定义分组到文件顶部。这种约定可以追溯到像Pascal这样的结构化编程语言,它实际上将此作为一条规则来执行,但一般来说它是有意义的。想想人们在日常生活中是如何交流的:当一个人在告诉你他们在谈论什么之前就开始谈论某件事,这难道不令人困惑吗?

离题,因为纯粹是基于观点。就个人而言,我不得不说:为什么不将函数存储在单个文件中并包含它们?为什么不将相关函数分组到类中呢?在我看来,这是一个有效的“最佳实践是什么”类问题@Franzgleichmanwell很多ajax调用只实现了一个小任务,例如添加/检查/删除数据库。因此,在我看来,如果我有一个包含所有相关函数(来自多个ajax脚本的函数)的任何文件,那么维护起来就变得很烦人(因为在一个大文件中会有许多稍有不同但仍然相似的函数),而如果我每个ajax脚本都有一个函数文件,它会生成很多文件,其中只有几行。这有点进退两难。在这种情况下,传统的做法是什么?我个人认为,在顶部使用函数会使代码更加混乱。我喜欢打开一个文件,看到主代码,了解发生了什么。例如,在讨论的例子中,这相当于某人告诉你他所有的论点,然后把它们拼凑在一起,这样你就能理解他实际上在说什么。但若我明白你们的意思,那个么“死后添加代码”的例子已经发生在我身上了!那么,您认为声明函数的最佳方式是什么?是使用top声明,还是其他文件,还是其他?我会遵循惯例,在使用函数的代码之前定义函数。大多数程序都是以这种方式组织的,因此您只能从阅读这样编写的代码中受益。只有当函数在上下文或用法方面彼此相关并且被多个脚本使用时,将函数放在单独的文件中才有意义。