我的公司的标准代码为php索引网站。好的代码?

时间:2012-07-22 14:01:20

标签: php optimization

所以我想知道代码(见下文)是否可以被称为“好的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';
?>

1 个答案:

答案 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'];