2009-02-20 85 views
4

我有主要的类与主要的PHP文件。 同样在这个课程中,我做了 require_once(“func.php”); 它对我的网站有许多有用的功能。分拆包含函数是否可以提高PHP性能?

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

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

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

请帮我:) 很遗憾我的工程:)

+0

func.php有多大?行数将是很好的近似值。 – empi 2009-02-20 10:12:12

+0

没什么可抱歉的。它完全可以理解。 – 2009-02-20 10:12:20

回答

4
  1. 多大func.php?你确定这个尺寸是一个问题吗?
  2. 这似乎是一个性能/优化问题的核心。你确定优化是有保证的吗?你有没有衡量你的页面的性能,并证明包含这个大功能文件的责任是它的缓慢?

我建议你在继续之前回答1 & 2。如果你的问题的动机是更清洁的设计和模块化,那么是的,我同意将一个错误“utils”文件分成更小的文件,共享责任或一般相关领域是一个好主意。另一方面,如果这是一个过早优化的情况,那么你最好离开糟糕的“func.php”(嘿,有时候可以有一个大的通用utils文件,只要它没有伤害您)。

+0

包含文件的大小是151Kb。 是的,我已经使用了NuSphere Profiler,它说我包含这个文件吃了很多时间:总main.php文件加载的47%。 我觉得这个小操作这个文件包括很大的时间。 – user52005 2009-02-20 20:27:32

4

拆分成OOP类和使用PHP5的__autoload函数:http://www.php.net/manual/en/language.oop5.autoload.php

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

+0

谢谢你的建议。可能是我会做的。 – user52005 2009-02-20 20:28:17

3

您是否启用PHP加速器?

因为他们保存在内存中,应加快速度 “编译” func.php的版本,没有任何代码修改。

虽然我推荐OOP,但这不是因为性能的原因。

相关问题