1

現在、MVC ルーターのディスパッチ機能を改善しようとしています。私の主な問題は、ユーザーがオブジェクトにアクセスしようとして失敗した場合、明らかに空白のページが返されることです。

たとえば、 という名前のオブジェクトがerrorあり、クラス メソッドの 1 つがsetType()である場合、ユーザーerror/settypeは URI を入力できます。

すべての URL が書き込まれます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