你认为我应该把我所有的PHP功能保存在一个文件中吗?

时间:2010-09-18 04:45:14

标签: php function include

我想知道你认为我应该将所有功能保存在一个文件中,还是将它们分成不同的文件!!

如果我将所有函数放在一个文件中,php会更容易处理这些东西!!

4 个答案:

答案 0 :(得分:14)

这取决于它们有多少功能,它们有多长,以及它们的作用。对于任何重要的项目,将所有内容放在一个文件中通常是个坏主意。应根据他们的行为对其进行分类。

将内容放在单独的文件中不仅对于组织和易读性很重要,而且在源代码管理期间确实有助于查看某个文件已更改但所有其他文件保持不变。

答案 1 :(得分:5)

根据我的经验,您包含的文件越少,PHP脚本运行得越快。如果将函数分成几个文件意味着你需要多次使用include或者require,那么最好将这些函数保存在一个文件中。

答案 2 :(得分:2)

这是过早的优化尝试。处理实际文件内容的时间将超过打开关闭文件的时间。因此,通过拆分文件,您可以节省0.01%的时间。

答案 3 :(得分:1)

对于一个非常大的项目,速度的损失将由模块化的增益弥补,如果正确完成,则可扩展性。这个函数非常简单,非常小,可以用来包含任何php然后执行它,而不需要很长的if()else或switch case。现在,这可能比switch case语句更密集,但对于大型项目,这个功能是完美的。

function trnFeature_getFeature($feature = 'default', $options = array()) {

    $path = __DIR__ . "/features/{$feature}/{$feature}";

    //Check the path, if no file exists bail out
    if(!file_exists($path . '.inc')) {
      return false;
    }

    //The path checked out, include the file
    include_once $path . '.inc';

    //setup the function that will execute the feature
    $feature_fn = "trnFeature_" . $feature . "_featureInit";

    //execute the function, passing it the $options array with all available options
    if(function_exists($feature_fn)) {
      $output = $feature_fn($options);
    } else {
      //you haven't created the correct function yet, so bail out
      return false;
    }

    return $output;
}