一个大的函数php文件是一个问题吗?

一个大的函数php文件是一个问题吗?,php,performance,function,Php,Performance,Function,我正在开发一个web应用程序,我正在使用一个名为functions.php的文件,其中存储了与我的应用程序相关的所有函数,目前该文件有大约1500行代码,包含30多个函数 我想知道这是否是一个问题,调用函数时是否会减慢进程?我应该制作其他文件来移动其中的一些函数吗?如果您每页只使用一个或两个函数,将它们拆分为单独的文件并只包含您需要的文件会更快吗?是的,因为PHP需要读取整个文件才能包含它。它是否会产生足够明显的差异,值得分割文件?在大多数情况下,答案可能是否定的。如果每页只使用一个或两个函数,

我正在开发一个web应用程序,我正在使用一个名为functions.php的文件,其中存储了与我的应用程序相关的所有函数,目前该文件有大约1500行代码,包含30多个函数


我想知道这是否是一个问题,调用函数时是否会减慢进程?我应该制作其他文件来移动其中的一些函数吗?

如果您每页只使用一个或两个函数,将它们拆分为单独的文件并只包含您需要的文件会更快吗?是的,因为PHP需要读取整个文件才能包含它。它是否会产生足够明显的差异,值得分割文件?在大多数情况下,答案可能是否定的。

如果每页只使用一个或两个函数,将它们拆分为单独的文件并只包含所需的文件会更快吗?是的,因为PHP需要读取整个文件才能包含它。它是否会有足够明显的差异,以至于值得分割文件?在大多数情况下,答案可能是否定的。

在大多数情况下,.php脚本中的行数不会像代码本身那样影响程序的速度。如果执行时间是您最关心的问题,那么优化代码应该是您的首要任务。从调用最多的函数开始,确保代码尽可能紧凑

从技术上讲,将函数拆分为不同的文件会使脚本速度变慢,因为解释器必须执行磁盘I/O来解析文件。但是对速度的影响是微乎其微的,所以我认为从长远来看,拆分它们可能会节省时间,因为如果您不总是盯着一个包含30个函数的大文件,那么调试和优化就会更容易


最后,如果你确实需要在应用程序中使用大量的.php文件,你可能需要考虑使用类似的方法在服务器上编译脚本。

在大多数情况下,.php脚本中的行数不会像代码本身那样影响程序的速度。如果执行时间是您最关心的问题,那么优化代码应该是您的首要任务。从调用最多的函数开始,确保代码尽可能紧凑

从技术上讲,将函数拆分为不同的文件会使脚本速度变慢,因为解释器必须执行磁盘I/O来解析文件。但是对速度的影响是微乎其微的,所以我认为从长远来看,拆分它们可能会节省时间,因为如果您不总是盯着一个包含30个函数的大文件,那么调试和优化就会更容易



最后,如果你确实需要在你的应用程序中使用大量的.php文件,你可能需要考虑使用类似的工具在服务器上编译你的脚本。

你可以让它成为一个类,这可能会使它运行得更流畅。@Rune虽然我是OOP的支持者,但你能解释一下为什么/如何一个包含1500多行和30多个函数的类会比一个包含它们的简单文件更流畅,因为我并不是真的看到它。@newfurnity好的,也许不是很流畅,但是它可以更方便,代码也应该更可读。我想这主要是你喜欢的。在这个问题中讨论OOP与过程的优点有点离题,因为没有看到代码或它的功能,就不知道更好的答案是什么。我想这是关于你最喜欢什么,如果你是OOP迷,那么你会去做,我自己不是,所以我总是去做OOP,顺便说一句,我认为OOP要慢一些。你可以把它做成一个类,这可能会使它运行得更平滑一些。@Rune虽然我是OOP的支持者,但你能解释一下为什么/如何一个包含1500多行和30多个函数的类会比一个包含它们的简单文件更平滑,因为我并没有真正看到它。@newfurnity好的,也许不是很流畅,但它可以更方便,代码也应该更可读。我想这主要是你喜欢的。在这个问题中讨论OOP与过程的优点有点离题,因为没有看到代码或它的功能,就不知道更好的答案是什么。我想这是关于你最喜欢什么,如果你是OOP迷,那么你会去做,我自己不是,所以我总是去做OOP,顺便说一句,我认为OOP比较慢。所以你建议我只保留我的文件?你必须根据你的网站以及你认为它会对性能产生多大影响来决定。对于一个1500行的文件,将其保存在一个文件中可能没问题。如果文件有15000行,则可能是另一个故事。谢谢,这很有帮助:)因此您建议我保留我的文件?您必须根据您的网站以及您认为它会对性能产生多大影响来决定。对于一个1500行的文件,将其保存在一个文件中可能没问题。如果文件有15000行,可能会是另一个故事。谢谢,这很有帮助:)谢谢,我想这是最完整的答案@Scott,“技术上”和“无穷小”不是正确的形容词。是的,在专用LAMP+APC/Xcache虚拟机或系统上会出现这种情况,脚本将被ACP(或VFAT)缓存,但在共享托管环境中,每个额外的脚本文件可能会生成平均10+毫秒的服务器外I/O。这些可以加起来。谢谢,我想这是最完整的答案@Scott,“技术上”和“无穷小”不是正确的形容词。是的,在专用LAMP+APC/Xcache虚拟机或系统上会出现这种情况,脚本将被ACP(或VFAT)缓存,但在共享托管环境中,每个额外的脚本文件将生成平均10+毫秒的非服务器I/O。这些可能会加起来。