代码之家  ›  专栏  ›  技术社区  ›  Josh Curren

包含函数文件的效率(在PHP中)

  •  10
  • Josh Curren  · 技术社区  · 16 年前

    如果我有大量的函数,那么最好将它们全部保存在一个大文件中,或者最好将它们分成几个相关函数的文件。我的意思是更好地提高可维护性和服务器处理请求的效率。

    例如,现在我的所有文件都在一个名为 include.php . 但是,将include文件保存在include文件中是否更明智,例如:

    <?php
     include('/functions/user.php');
     include('/functions/admin.php');
     include('/functions/content.php');
     include('/functions/nav.php');
     include('/functions/database.php');
     include('/functions/other_junk.php');
    ?>
    
    5 回复  |  直到 16 年前
        1
  •  19
  •   echo    16 年前

    为了便于维护,一定要将它们分开。我怀疑性能会受到任何影响,但即使这样(只是很小的一点),编写可维护、可读的代码还是更好的。

        2
  •  3
  •   Klinky    16 年前

    您需要确保使用的是像xcache或apc这样的php缓存。然后,您的php文件应该都在内存中,您不应该担心其中的内容会影响磁盘。

    如果您将志同道合的函数/类分解成它们自己的文件,我肯定会发现这很容易。

        3
  •  2
  •   Jacob Relkin    16 年前

    在可维护性方面,通常最好将您的功能划分为相关的组。(就像你上面展示的, user.php 只有与用户相关的函数)。

    如果您知道每次需要包含任何文件时都需要包含所有这些文件,那么您应该只有一个包含所有这些文件的文件。 否则,它会破坏“全部捕获”文件的目的。

        4
  •  2
  •   prodigitalson    16 年前

    根据我的经验,如果您谈论的是函数库的几十个左右的文件,那么multiple includes和/或requires通常不会让您返回太多。尤其是在请求生命周期中,您只能调用一次特定文件的语句。

    如果您进入OOP或高度复杂的功能/过程类型体系结构(其中可能有数百个不同的类/文件),它就会开始显示性能的影响。但一般来说,在这一点上,您可能已经通过缓存/编译完成了某种缓解。

        5
  •  0
  •   niggles    16 年前

    我在一个中心.config文件中有一个包含列表。

    对于所有的OOP类,虽然我使用autoload->我知道它稍微慢一点,但它省去了在我创建新类时必须包含它们的麻烦。它们只能按要求装载。

    另外,include比include快一次,因为它不必检查文件是否已经包含。

    推荐文章