好奇问一下......在编写require/include语句时,你更喜欢哪种最佳实践?
require('filename.php');
或者
require 'filename.php';
谢谢!
好奇问一下......在编写require/include语句时,你更喜欢哪种最佳实践?
require('filename.php');
或者
require 'filename.php';
谢谢!
始终使用后者 - 对于echo
,print
和其他语言结构也是如此。 永远不要在语言结构后添加额外的括号!
原因很简单:使用括号会让你认为require
是一个函数 - 实际上它不是!例如:
if (require('file.php') == false) {
// do stuff
}
你 - 甚至大多数资深PHP开发者 - 可能会认为这比较了 require
的返回值。但实际上并不是这样的!PHP将其解释为:
if (require (('file.php') == false)) {
// do stuff
}
which is:
if (require '') {
// do stuff
}
如果您在语言结构中使用括号,您也可以编写:
require(((((((((((((((((((('file.php'))))))))))))))))))))
或者你会写出这样的代码:
array(('hi'));
array
或exit
?这实际上是一个运算符优先级问题,而且还是一个相当牵强的问题。问题中没有建议检查不存在的返回值。如果你确实写了require('file.php') == false
,你会立即得到致命错误。因此,不存在微妙的错误可能性。 - Matthew Flaschenarray
时,括号是该语句结构的一部分。但是,在使用require
时,它们不是必须的,无法省略。 - NikiC