質問: mvcコントローラーの例 私は、アプリケーションでmvcアプローチを使用する方法と理由について多くのことを読んでいます。私はモデルの例を見て理解しましたが、ビューの例を見て理解しました。コントローラーの十分な例を見たいと思います。 (in php可能であれば、ただし、どの言語でも役立ちます)ありがとうございました。ps:どのコントローラーをどのように使用するかを決定するindex.phpページの例を見ることができたら素晴らしいと思います。編集: 私はコントローラーの仕事が何であるかを知っていますが、oopでこれを達成する方法を本当に理解していません。
回答: <?php class app { protected static $router; public static function getrouter() { return self::$router; } public static function run($uri) { self::$router = new router($uri); //get controller class $controller_class = ucfirst(self::$router->getcontroller()) . 'controller'; //get method $controller_method = strtolower((self::$router->getmethodprefix() != "" ? self::$router->getmethodprefix() . '_' : '') . self::$router->getaction()); if(method_exists($controller_class, $controller_method)){ $controller_obj = new $controller_class(); $view_path = $controller_obj->$controller_method(); $view_obj = new view($controller_obj->getdata(), $view_path); $content = $view_obj->render(); }else{ throw new exception("called method does not exists!"); } //layout $route_path = self::getrouter()->getroute(); $layout = root . '/views/layout/' . $route_path . '.phtml'; $layout_view_obj = new view(compact('content'), $layout); echo $layout_view_obj->render(); } public static function redirect($uri){ print("<script>window.location.href='{$uri}'</script>"); exit(); } }