使用php的动态活动类菜单

时间:2014-10-29 15:02:00

标签: php

我有20个模块页面,这个代码用于将每个页面的活动类添加到侧边菜单中:

$x = 0;
$showoptions = '';
if (checkaccess("cats")) {
    if ($_GET['mod'] == "cats") {
        $active = 'class="active"';
    }
    else {
        $active = '';
    }

    $showoptions.= '<li ' . $active . '><a href="?mod=cats"><i class="icon-folder-open"></i><span> categories</span></a></li>';
    $active = '';
    $x++;
}

if (checkaccess("uploads")) {
    if ($_GET['mod'] == "uploads") {
        $active = 'class="active"';
    }
    else {
        $active = '';
    }

    $showoptions.= '<li ' . $active . '><a href="?mod=uploads"><i class="icon-folder-open"></i><span> Uploads</span></a></li>';
    $active = '';
    $x++;
}

用于打印输出:

#if the user can't access any of the sub option menus hide the main option menu
    if($x > 0){
    echo $showoptions;
    }

我有两个问题:

  • 我的代码是可读的?真的吗? (如果不是更好的方式)

  • if条件更好或switch/caseif/elseif方法?

我的网址为:http://mydomain . com/admin/?mod=[name]

1 个答案:

答案 0 :(得分:0)

既然我们不知道你的checkaccess做了什么,不知道你的意思是什么。 我这样编码,对我来说更具可读性:

if (checkaccess("cats")) {
    $active = '';
    if ($_GET['mod'] == "cats") {
        $active = ' class="active"';
    }
    $showoptions.= '<li' . $active . '><a href="?mod=cats"><i class="icon-folder-open"></i><span> categories</span></a></li>';
    $x++;
} elseif (checkaccess("uploads")) {
    $active = '';
    if ($_GET['mod'] == "uploads") {
        $active = ' class="active"';
    }
    $showoptions.= '<li' . $active . '><a href="?mod=uploads"><i class="icon-folder-open"></i><span> Uploads</span></a></li>';
    $x++;
}