PHP应用程序可以有太多功能吗?执行大量PHP函数会占用内存和资源吗?我的WordPress主题开发中有很多功能(当我完成时可能超过100个)而且我担心我可能会有太多功能。
答案 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服务器上的差异。总是喜欢可维护性超过速度!