拆分包含的函数会提高PHP的性能吗?

时间:2009-02-20 10:09:59

标签: php performance oop

我有主类的主要php文件。 我也在这堂课     require_once( “func.php”); 这对我的网站有很多有用的功能。

func.php的大小非常大,因为在不同页面上的不同操作有很多功能。但是我把它包含在每个页面上,因为包括主类调用。 我需要做些什么来优化它?

将func.php重写为OOP并在主类中使用类似“$ funcs-> my_func()”的内容?我会赢得一些表现吗?没有被调用的函数不会占用内存和CPU时间?

或者我必须将func.php重写为多个文件并在指定页面上调用每个文件? 例如:对于“about.php”,我将包含带有所需功能的“about_func.php”。但我认为这并不舒服......

请帮帮我:) 抱歉我的英文:)

3 个答案:

答案 0 :(得分:4)

  1. func.php有多大?你确定尺寸是个问题。
  2. 这似乎是一个性能/优化问题。您确定优化是否合理?你有没有测量你的页面性能,并证明包含这个大函数文件是因为它的缓慢而受到责备?
  3. 我建议你回答1& 2继续之前给自己。如果您的问题的动机是更清晰的设计和模块化,那么是的,我同意将错误的“utils”文件拆分成共享责任或一般相关领域的较小文件是一个好主意。另一方面,如果这是一个过早优化的情况,那么你最好留下可怜的“func.php”(嘿,有时可以有一个很常见的utils文件,只要它没有伤害你)。

答案 1 :(得分:4)

将其拆分为oop类并使用PHP5的__autoload函数:http://www.php.net/manual/en/language.oop5.autoload.php

这将仅在需要时加载类,您不必担心包含所有必需文件。它不会给你带来任何性能上的好处,但是为了一个目的而管理较小的文件比一个具有多个不依赖于彼此的功能的大文件更容易。

答案 2 :(得分:3)

您是否启用了PHP加速器?

因为他们在内存中保留了func.php的“编译”版本,这样可以加快速度,而不需要修改任何代码。

虽然我推荐OOP,但这并不是出于性能原因。