Php 多文件网站的性能

Php 多文件网站的性能,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我正在开发一个网站,你可以在那里订购产品。此产品有很多选项等,因此用户必须通过10个步骤才能完成订单 目前我有一个文件(index.php),它处理所有步骤。代码乱七八糟,文件越来越大。我想也许把所有的东西分成不同的文件会更好。但是,我不希望用户在每一步都重新加载页面 我的第一个想法是PHP的文件\u get\u contents()或使用Ajax加载每个文件。但我不知道哪种方法能达到最好的性能?或者您有其他选择?保留1个文件,创建一个类,每个步骤都是所述类的一个方法,然后通过ajax重新加载时

我正在开发一个网站,你可以在那里订购产品。此产品有很多选项等,因此用户必须通过10个步骤才能完成订单

目前我有一个文件(index.php),它处理所有步骤。代码乱七八糟,文件越来越大。我想也许把所有的东西分成不同的文件会更好。但是,我不希望用户在每一步都重新加载页面


我的第一个想法是PHP的
文件\u get\u contents()
或使用Ajax加载每个文件。但我不知道哪种方法能达到最好的性能?或者您有其他选择?

保留1个文件,创建一个类,每个步骤都是所述类的一个方法,然后通过ajax重新加载时调用正确的方法。如果你创建几个文件,它会更混乱。

保留一个文件,创建一个类,每个步骤都是该类的一个方法,然后通过ajax重新加载时调用正确的方法。如果创建多个文件,则会更加混乱。

如果页面只是一组表单/选项,则可以使用jQuery/JavaScript将其AJAX化。每次用户进入另一个步骤时,您都可以将数据保存到cookie中。然后在所有步骤结束时,一次性将所有数据提交给PHP。这将减少PHP代码的分散性,并将单个步骤的大部分处理工作卸载到客户端浏览器,从而减少PHP处理每个单独步骤(对于购买产品的所有用户)所造成的服务器负载

您可以将每个表单的HTML存储在服务器上的单独HTML文件中,也可以根据
$\u GET['step']
值等从PHP脚本中回显给定步骤的HTML

该方法实际上将用jQuery替换给定步骤的HTML,而不是用jQuery隐藏/显示div


使用PHP的
include
函数不会提高性能,因为它的作用与包含文件的代码代替include指令的作用相同,但是它需要PHP有一些额外的开销,因为它必须包含指定的文件。

如果页面只是一堆表单/选项,您可以使用jQuery/JavaScript将它们添加到AJAX中。每次用户进入另一个步骤时,您都可以将数据保存到cookie中。然后在所有步骤结束时,一次性将所有数据提交给PHP。这将减少PHP代码的分散性,并将单个步骤的大部分处理工作卸载到客户端浏览器,从而减少PHP处理每个单独步骤(对于购买产品的所有用户)所造成的服务器负载

您可以将每个表单的HTML存储在服务器上的单独HTML文件中,也可以根据
$\u GET['step']
值等从PHP脚本中回显给定步骤的HTML

该方法实际上将用jQuery替换给定步骤的HTML,而不是用jQuery隐藏/显示div



使用PHP的
include
函数不会提高性能,因为它的行为与包含文件的代码代替include指令的行为相同,但是它要求PHP有一些额外的开销,因为它必须对指定的文件进行排序。

分10步排序?如果你想把所有内容都放在一个页面上,并通过javascript处理页面更改,那么我建议你使用包含文件,这样你就可以拥有一个主页,然后包含各个文件中的各个页面,这听起来像是我认为你自己要做的。@putvande我在电子商务行业工作(主要是)一般都会同意你的意见,但这取决于产品。如果它真的需要那么多步骤,那么你可以保证买家已经习惯了。使用函数,每个函数执行不同的步骤。或者学习MVC。@putvande我也一样。法律原因..按10个步骤排序?如果你想把所有内容都放在一个页面上,并通过javascript处理页面更改,那么我建议你使用包含文件,这样你就可以拥有一个主页,然后包含各个文件中的各个页面,这听起来像是我认为你自己要做的。@putvande我在电子商务行业工作(主要是)一般都会同意你的意见,但这取决于产品。如果它真的需要那么多步骤,那么你可以保证买家已经习惯了。使用函数,每个函数执行不同的步骤。或者学习MVC。@putvande我也一样。法律原因我的问题主要是HTML的可读性。现在我使用jquery隐藏/显示div。这和你的建议有点一样吗?我理解你的痛苦,如果我是你,我会创建一个空白页,意思是零形式,或者最多只是第一步。之后,当用户提交步骤1时,我将删除步骤1,并通过ajax步骤2进行填充,依此类推,直到步骤10。这种方法更容易处理这个过程。您还可以将部分状态保存到数据库中,以便允许用户返回到每个步骤。谢谢,我想我将使用您的解决方案。只是一个简单的问题,这会影响搜索引擎优化吗?关于搜索引擎优化,你为什么要谷歌索引一个表单?如果你要创建一堆由于各种原因(重复内容、精简内容等)而不好的页面,那么你应该没问题,我的问题主要是HTML的可读性。现在我使用jquery隐藏/显示div。这和你的建议有点一样吗?我理解你的痛苦,如果我是你,我会创建一个空白页,意思是零形式,或者最多只是第一步。之后,当用户提交步骤1时,我将删除步骤1,并通过ajax步骤2进行填充,依此类推,直到步骤10。这种方法更容易处理这个过程。你也可以在数据库中保存部分状态,以便用户返回到每个步骤。谢谢,我想我要