是否有可能在PHP应用程序中有太多的功能?

时间:2010-06-11 05:44:58

标签: php function

PHP应用程序可以有太多功能吗?执行大量PHP函数会占用内存和资源吗?我的WordPress主题开发中有很多功能(当我完成时可能超过100个)而且我担心我可能会有太多功能。

7 个答案:

答案 0 :(得分:8)

即使很多功能导致更多的内存消耗,我还是建议你使用它们。一个清晰的结构很多比性能更重要。

性能可以通过throwing hardware at it得到改善,一个糟糕的结构应用程序很快就难以维护。

顺便说一句:100个函数什么都没有!

答案 1 :(得分:6)

100个功能无需担心。如果您的代码很慢,您应该对其进行分析以明确地找到缓慢的部分。

请记住,过早的优化是邪恶的

答案 2 :(得分:4)

不,它不能。实际上,拥有许多功能是件好事,因为这意味着您已将代码划分为更易于管理的部分。一个好的规则是保持你的功能小,让他们只做一件事。哦,记得命名你的函数,以便函数名称能很好地描述函数的作用。

拥有大量的方法会在执行时产生很小的开销,但与结构化代码带来的好处相比,它是如此微不足道,所以我不担心。

答案 3 :(得分:3)

只需让你的代码完成它的工作。不关心你的功能计数。

答案 4 :(得分:3)

我不会担心100个功能。这个功能很少。

全局函数和方法被编译,存储在内存中,并在哈希表中编入索引(除了最近实现的缓存查找)。在函数数量增加的情况下调用函数时,性能不会下降,因为访问哈希表平均是在恒定时间内完成的。

但是,解析脚本会有更多的开销,如果您实际调用所有这些函数,则编译它们。如果您使用操作码缓存,这不是一个真正的问题。还会有更多的内存开销,但通常情况下,内存在企业级Web服务器中不是问题,在这种情况下,尽可能快地尝试提供请求更合适,而不必过多关注内存。

还有风格问题。如果您有太多全局函数,请考虑:

  • 您正在复制这些功能之间的代码。考虑重构,将公共代码移动到其他函数,并在适当的时候通过添加参数来概括函数的行为。
  • 您可以更好地对在类中对相同数据进行操作的函数进行分组。

最后,只有在您对应用程序进行概要分析并发现函数调用是CPU瓶颈并将函数定义作为内存瓶颈时,才会担心这一点。

答案 5 :(得分:2)

PHP核心有over 3000 functions,所以不要担心添加太多。

答案 6 :(得分:1)

我认为是的,项目可能有太多功能。我不知道你如何设置你的项目,但听起来你有功能库。您可能希望将来考虑面向对象开发。这允许您将功能封装到对象中。因此,对象包含函数,并且它们对其他对象不可见(除非您希望它们)。这有助于减少API污染。

对于你的记忆问题 - 我过去也担心这一点,不要。良好的编程实践对速度更重要。您甚至都不会注意到Web服务器上的差异。总是喜欢可维护性超过速度!