文件大小会减慢php响应吗?

时间:2013-10-01 18:47:26

标签: php

我目前使用一个文件设计...我的所有php代码都在一个index.php文件中,我在一个文件中有大约13,000行(~1mb),并且它开始挂起一点加载时间...我当时认为它可能是文件大小,但我一直认为PHP是在服务器上进行预处理的,所以其他if语句中的内容并不重要,因为它不会被渲染。

以下是我的index.php示例:

if ($_POST['action'] == 'view') {
    // code
} else if ($_POST['action'] == 'something') {
    // code
} else if ($_POST['action'] == 'otherthings') {
    // code
} else {
   // homepage
}

问题:

  1. 我将代码放在一个文件中会失去速度吗?或者这不会影响速度吗?
  2. 是否有任何代码布局/组织样式对PHP更有效?或者这不重要吗?

3 个答案:

答案 0 :(得分:2)

正如其他人所推荐的那样,最好将此文件分成几部分,以便于维护,以及任何事情。您可能会考虑使用像APC这样的操作码缓存,因为这会减少index.php文件的解析次数。

答案 1 :(得分:1)

  1. 不,消耗时间越多,就像打开文件一样。在你的情况下, 服务器打开并读取一个唯一的文件,它已经过优化

  2. 但是,代码不可维护,有圈复杂,不是真的 可测试...建议组织代码以打破它 很多文件,例如MVC Logic。你也可以使用 微框架,帮助您围绕约定组织代码。 例如,请参阅http://silex.sensiolabs.org/

答案 2 :(得分:1)

您需要解析每一行,因此将所有代码放在一个唯一的文件中会影响响应时间。

重新组织所有内容的一种非常简单的方法是:

$action = $_POST['action'];
$path = 'path_to_your_application';

//you should put some validation about action, for example

$allowed_actions = (array of possible values of "action");
if(in_array($action, $allowed_actions) && file_exists($path.$action.".php"))) require($path.$action.".php");
else //homepage

或类似的东西: - )