小编Sve*_*lov的帖子

可以在 switch 中使用 if 语句吗

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

function call($controller, $id='') {

switch($controller) {
    case '':
        break;
    case 'pages':
        $controller = new PagesController();
        break;
    case 'articles':
        require_once('controllers/' . $controller . 'Controller.php');
        require_once('models/articles.php');
        $controller = new ArticlesController();
            if(!$id){
                $controller->{ "blog" }();
            }else{
                $controller->{ "article" }($id);
            }
        break;
    default:
        header("HTTP/1.0 404 Not Found");     
        include('/views/404.php');
        exit;       
        break;
}
Run Code Online (Sandbox Code Playgroud)

}

PS 现在我只处理文章案例,这就是为什么第一个案例只会中断而不做任何事情等。提前致谢。

php url-routing switch-statement

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

php ×1

switch-statement ×1

url-routing ×1