在哪里定位include / require语句?

时间:2010-10-15 01:48:48

标签: php

您是否将所有include_oncerequire_once置于文件的开头,因此很清楚它的依赖关系是什么,或者您将它们放在使用它们的最本地范围内,效率?

假设我有一个错误处理文件,它有一个显示错误信息的功能 - 你愿意......

require_once('error_handling.php');
... lots of code ...
if ($should_be_true === False)
{
  ReportErrror();  // declared in error_handling.php
}

或者你

... lots of code ...
if ($should_be_true === False)
{
  require_once('error_handling.php');
  ReportErrror();  // declared in error_handling.php
}

嗯,看起来他们删除了best-practise标记以及'10

的伟大标记清除中的subjective

3 个答案:

答案 0 :(得分:2)

这可能是大部分品味的问题。

在C / C ++风格中,我总是把它们放在首位,所以 - 正如你所提到的 - 依赖关系立即显而易见。此外,它还为您提供了重新排列包含顺序的选项(通常无关紧要)。

现在,由于这是一个运行时事件(与C / C ++不同),推迟包含很少需要的大文件是有意义的。

这是一个平衡问题 - 清洁代码(恕我直言)与性能。我倾向于更清晰的代码,除非你有一个PHP文件,a)被调用很多,b)使用一个巨大的PHP文件,c)几乎从不需要。

答案 1 :(得分:2)

我绝对会选择第二个例子,因为加载可能不会被使用的东西只是邪恶的。

答案 2 :(得分:1)

咩。完全取决于情况。

如果它是一个小的包含,你将在95%的情况下使用它,顶部是好的。 Top几乎适用于所有情况。

但是,如果它是一个绝对庞大的库,比如解析只会在5%的请求中出现的内容,则需要时需要。可能值得在顶部发表评论以使依赖性成为可能,但是这是一种快乐的媒介吗?

反正。每次都是判断。最好不要过多担心不确定情况下的性能问题,直到毫秒的性能实际上成为您的问题。 (那种流行度不是一个很好的问题吗?)