我什么时候应该在要求/包含语句中使用括号


When should I use parenthesis in require/include statements?

我收到了一堆代码,其中包含许多require/include语句(混合在requirerequire_once之间)。 有时,路径周围有括号,即 require_once (JPATH_COMPONENT.DS.'controller.php');,其他时候没有:require_once $path;

包含的 php 文档提到了这一点,但没有具体说明。 当我找到它们时,我应该删除括号,还是可以不理会它们? 在编写进一步的 require/include 语句时,是否有我应该使用它们的特定情况?

您可以在"include/require"中使用括号,不是因为 include 允许它本身,而是因为您可以在 PHP 中的任何字符串或数字周围使用括号进行分组。

所以例如,"dog"等价于("dog")("dog")."dog"等价于"dog"."dog",等等。

当您使用涉及计算和字符串连接的复杂表达式时,括号变得很有用,但在这种简单的情况下,它们只是被允许并执行单个字符串值的不必要且无害的"分组"。

两种语法都有效。所以,这取决于你。
:)该文档解释:

由于 include 是一种特殊的语言构造,因此其参数不需要括号。

留下或取出它们都没有问题,归根结底,这取决于开发人员的舒适度。

就个人而言,我把它们留了下来。我认为它看起来更干净一些,并且 IDE 语法着色效果更好。