我正在创建一个网站,其中不同的帐户类型将显示每个页面的不同版本。我有它的工作,但我的问题是关于速度/“最佳实践”。以下哪一项(或完全不同的方式)是最好的方法?
选项 1. 将每种帐户类型分解为文件的各个部分:
if($accountType == "type1"){
//All lines of code for the account type1 page
}
elseif($accountType == "type2"){
//All lines of code for the account type2 page
}
elseif($accountType == "type3"){
//All lines of code for the account type3 page
}
选项 2. 使用包含文件将每个帐户类型分成文件的部分:
if($accountType == "type1"){
//this file has all of the code for account type1 page
require('includes/accounts/type1/file.php');
}
elseif($accountType == "type2"){
//this file has all of the code for account type1 page
require('includes/accounts/type2/file.php');
}
elseif($accountType == "type3"){
//this file has all of the code for account type1 page
require('includes/accounts/type3/file.php');
}
选项 3. 在整个文件中使用大量条件语句为每种帐户类型生成页面:
if($accountType == "type1"){
$result = mysql_query("//sql statement for account type1");
}
elseif($accountType == "type2"){
$reslut = mysql_query("//sql statement for account type2");
}
elseif($accountType == "type3"){
$result = mysql_query("//sql statement for account type3");
}
while ($row = mysql_fetch_array($result)) {
$variable1 = $row['variable1'];
if($accountType == "type1"){
$variable2 = $row['type1Variable2'];
$variable3 = $row['type1Variable3'];
}
elseif($accountType == "type2"){
$variable2 = $row['type2Variable2'];
}
elseif($accountType == "type3"){
$variable2 = $row['type3Variable2'];
}
$variable4 = $row['Variable4'];
}
echo "The variables echoed out are $variable1, $variable2";
if($accountType == "type1"){
echo ", $variable3";
}
echo "and $variable4";
//the rest of the file to follow in the same way
基本上可以归结为:
选项1:文件为1000行代码。
方案二:文件30行代码,每个include文件250-350行代码之间。选项3:文件为650行代码。它较少,因为某些代码可以在所有三种帐户类型之间“共享”。
哪个选项是最快/“最佳实践”?我倾向于选项 3,因为整体文件大小会更小,但是使用此选项有更多的条件语句(选项 1 和 2 只有三个条件语句,而选项 3 例如有 40 个)。有这么多的条件语句会使文件处理速度变慢吗?选项 1 和选项 2 之间实际上有什么区别(将代码块分成包含文件是否意味着它只会为每种帐户类型加载一个包含文件?还是 php 加载所有三个文件并只选择正确的一个?)?
谢谢你的帮助!