你可以在交换机中使用if语句吗?

时间:2015-12-30 23:01:37

标签: php switch-statement url-routing

所以我试图创建自己的MVC网站,我认为更好地学习PHP并解决大型MVC问题的最佳方法是启动一个完整的项目。问题是,我被困在路由器上,我无法弄清楚如何最好地编写它,我认为这可能是一个好方法,至少暂时但我不确定是否这是一个可行的。我基本上考虑根据switch case调用正确的控制器,然后如果有第二个url param(我以为它现在是一篇文章的id)就调用一个调用单个文章的方法如果没有第二个参数来调用一个调用所有文章的方法,但我想知道这是否是一个不好的方法。

<HTML>
   <HEAD>
   </HEAD>
<BODY>
   <H1>Hello World</H1> 
</BODY>
</HTML>

}

P.S。现在我只处理文章案例,这就是为什么第一个案例只会在没有做任何事情的情况下中断的原因。提前谢谢。

2 个答案:

答案 0 :(得分:1)

当然可以,请参阅下面的示例(这是概念验证,未经测试)。

switch ($controller) {
    case 'pages':
          break
    case 'articles':
          if ($Apples != $Pears)
          {
              $Tomatoes="Red";
          }
    case "52":
    case "109":
    case "110":
        //do nothing and exit from switch
        break;
    default:
        if ($a == $b)
        {
            $c = "cats!";
        }
        break;
 }

请注意,您也可以在交换机内部使用交换机,就像嵌套的if语句一样。

答案 1 :(得分:1)

如果您只有2个或3个选项,那么您可以使用if else否则使用嵌套开关。 您可以使用if in switch也切换另一个开关。