所以我想知道代码(见下文)是否可以被称为“好的PHP代码”。它用于我工作的地方,我正在努力想出一个更好的解决方案来编写这个模板。
$ requestedPage变量被使用了两次,首先是在switch语句中的if和之后我不知道为什么,但我认为应该有更好的可能性。
内容是通过require_once语句加载的,该语句将加载包含html模板的head.php和foot.php所包围的页面内容。
<?php
header("Content-Type: text/html; charset=utf-8");
filter_var_array($_POST, FILTER_SANITIZE_STRING);
require_once 'lib/rb.php';
require_once 'head.php';
$requestedPage = $_POST['page'];
if(isset($requestedPage)) {
switch ($requestedPage) {
case 'list':
require_once 'page/list.php';
break;
default:
require_once 'page/home.php';
break;
}
} else {
require_once 'page/home.php';
}
require_once 'foot.php';
?>
答案 0 :(得分:4)
您可以删除两次检查。如果未设置该参数,它将自动进入switch语句的默认大小写。
所以,你的代码可以是
$requestedPage = $_POST['page'];
switch ($requestedPage) {
case 'list':
require_once 'page/list.php';
break;
default:
require_once 'page/home.php';
break;
}
require_once 'foot.php';
编辑:正如@mario在评论中建议的那样,在执行$requestedPage = $_POST['page'];
时显示的E_NOTICE可能会在将来出现问题,当有相关通知并且您已将其抑制时。因此,您应该在生产代码中禁止通知仅,或者在语句
$_POST['page']
$requestedPage = $_POST['page'];