1

现在,我正在尝试改进我的 MVC 路由器调度功能。我的主要问题是用户可以尝试访问对象,如果失败,显然会返回一个空白页面。

例如,如果我有一个名为的对象error,并且其中一个类方法是setType(),则用户可以输入error/settype的是 URI。

所有网址都写入index.php?url=$1

$url = explode('/', trim($_SERVER['REQUEST_URI'], '/'));

    $controller = !empty($url[0])  ? $url[0]  : 'home';
    $method = !empty($url[1]) ? $url[1] : 'index';
    $params = !empty($url[2]) ? $url[2] : $_POST;


    if (class_exists($controller)){

        $dispatchedController = new $controller;

        if (! method_exists($controller, $method)){
            /**
            * Error handling
            **/
        }

        return $dispatchedController->$method($params);

    } else{
            /**
            * Error handling
            **/
    }

如何改进我的路由器?我认为提供白名单或黑名单不太实用。

4

0 回答 0