我有一个非常长的PHP脚本只有1页,例如:
mywebsite.com/page.php?id=99999
我有大约10000-20000个id的个案,每个都有不同的设置。这会显着减慢我的网站速度吗?
即。我的问题实际上是在执行php时会发生什么。服务器是执行它并显示结果,还是客户端的计算机下载它,执行它并显示结果。
如果是后者,是否意味着加载时间非常慢? 10000-20000个案例中的每一个都有大约20-25行代码。
谢谢,xoxo
答案 0 :(得分:1)
通常在Web服务器上处理(解释)PHP文件,并将输出传递给客户端。
如果网站运行缓慢,那完全取决于PHP脚本实际执行的操作。但是,一个10000-20000 case
的PHP文件听起来确实非常糟糕。然而,它可能对你的情况表现良好(原谅双关语)。
一切都归结为实际执行的代码:您是否根据给定的id
打印出不同的文本,或者您是否运行了非常昂贵的操作(例如,创建zip文件,下载内容,计算PI到最后一个小数,...)?
答案 1 :(得分:1)
10,000到20,000个不同的案件听起来像是一场噩梦。虽然技术上可行,但我发现很难相信您的处理需求需要这种级别的粒度。
10,000到20,000个案例中的处理真的如此不同,以至于它需要完全独立的测试和处理吗?是不是有类似的情况以类似的方式处理?
例如,如果案例$x = 5
的处理类似于:
echo 5;
案例$x = 10
的处理类似于:
echo 10;
然后可以将这些分组为单个测试和单个处理程序:
function dumbEcho($x){
echo $x;
}
function isDumbEchoAble($x){
return in_array($x, array(5,10));
}
if (isDumbEchoAble($x)){
dumbEcho($x);
}
对于每个结构相似的处理集,您可以创建一个isXXXAble()函数进行测试,并创建一个XXX()函数进行处理。 [当然,这只是一个简单的例子,旨在展示一个原则,一个概念,而不一定是你可以复制/粘贴到当前情况的代码。]
编程的本质 - 恕我直言 - 是找到这些结构上的相似之处,找到足以处理独特案例的参数化,然后将这种参数化处理应用于这些案例。