2

我阅读了相关问题,但没有找到答案。这与require/require_once__autoload函数的使用甚至文件的名称无关。

我的公司建立了大型网站,随着我们的成长,我们成长为的做法是通过它们的关系来拆分功能,例如:

inc.functions-user.php inc.functions-media.php inc.functions-calendar.php

每个这些文件往往是 1000 到 3000 行代码。合并将使它们成为一个难以维护的怪物,并且对更多的开发人员来说更加困难。

但是,在我们的一些较大的站点中,我们以 8 到 15 个这些单独的函数文件结束。

在头文件中包含 15 个函数文件是最好的方法还是我们应该找到一种方法来组合它们?12 次包含与 5 次包含是否对我们网站的运行显着不利?

4

5 回答 5

3

如果您关心性能,请安装像 APC 这样的 opcocde cche,它将脚本的编译形式保存在内存中。

如果您不想安装 APC,则差异很小,是的,访问更少的文件需要更少的时间,但这不是花费大部分时间的地方。(特别是文件系统应该能够将脚本(未编译)缓存在内存中)如果它们被经常请求的话。

于 2009-12-01T14:41:31.597 回答
0

使用 vanilla PHP 通常最好使用尽可能少的包含文件,但这当然会使维护变得痛苦。使用诸如APC之类的操作码缓存,性能问题将几乎消失。此外,与大型 MVC 框架和其他库相比,包含 12 个文件的数量并不是很多。以逻辑结构将功能分开是迄今为止最好的方法。

于 2009-12-01T14:42:01.510 回答
0

调用 include/require 函数 5 次而不是 12 次并没有太大区别,重要的是包含文件的内容。

此外,包括非常适合您的目的的 cahchers,例如 APC 或 xcache。

于 2009-12-01T14:42:47.147 回答
0

我什至建议将它们分成更多的文件。看看 MVC 模式,或者其他框架,它们是极度分裂的,所以你可以很容易地维护“只”部分,而不用担心破坏一些东西,只要你遵循你的结构。

于 2009-12-01T14:43:58.760 回答
0

一些要考虑的点,我也在考虑

  • Rasmus Lerdorf 经常说“你不应该有超过大约五个包含”。我只能假设他知道他在说什么,因为他做了 PHP。然而,我对这种做法的可行性持怀疑态度。尤其是在大型项目上。
  • 我发现开发和里程碑更适合让开发人员的生活更轻松。如果这意味着单独的文件,那么这是一个好主意。
  • If you're worried about CPU usage or bandwidth, there are probably more obvious bottlenecks than liberal use of include. Un-optimized functions are a good way to make the app faster, and paying attention to images and css or js files is a good way to reduce bandwidth.
于 2009-12-01T14:44:08.500 回答