PHP需要/包含编码实践

Wop*_*ppi 6 php

只是好奇......在编写require/include语句时,您更喜欢哪种更好的做法?

require('filename.php');
Run Code Online (Sandbox Code Playgroud)

要么

require 'filename.php';
Run Code Online (Sandbox Code Playgroud)

谢谢!

Nik*_*kiC 9

始终是后者-同样适用于echo,print和其他语言构造,太.在语言结构之后永远不要添加额外的括号!

原因很简单:使用括号使您相信这require是一个函数 - 它不是!例如:

if (require('file.php') == false) {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

你 - 甚至可能是大多数高级PHP开发人员 - 会说这比较了它的返回值require.但事实并非如此!PHP将其解释为:

if (require (('file.php') == false)) {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

这是:

if (require '') {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

如果你在语言结构中使用括号,你也可以写:

require(((((((((((((((((((('file.php'))))))))))))))))))))
Run Code Online (Sandbox Code Playgroud)

或者你会写:

array(('hi'));
Run Code Online (Sandbox Code Playgroud)

这也是同样的废话.

  • @Metthew:使用`array`,括号是构造的一部分.用`require`他们不是.你不能省略它们. (3认同)