Errors and exceptions handling, #16

git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/branches/evo@122 4cb57b5f-5bbd-dd11-951b-001d605cbbc5
This commit is contained in:
pzinovkin
2010-03-07 19:54:09 +00:00
parent 4f7e5b00bc
commit 5b7ad8e2ea
9 changed files with 57 additions and 17 deletions

View File

@ -100,12 +100,18 @@ class FrontController
$request = Env::getRequestUri();
$route = $this->getRouter()->route($request);
if (!$route) {
throw new Error404Exception('Route "' . $request . '" not found');
throw new Error404Exception('Route for "' . $request . '" not found');
}
$action_class = $route->getAction();
if (!class_exists($action_class)) {
throw new GeneralException('Action class "' . $action_class . '" not found.');
}
$action = new $action_class();
$layout_class = $route->getLayout();
if (!class_exists($layout_class)) {
throw new GeneralException('Layout class "' . $layout_class . '" not found.');
}
$layout = new $layout_class();
return $layout->fetch($action);
@ -113,7 +119,7 @@ class FrontController
if (DEBUG == true) {
return ErrorHandler::showDebug($e);
}
$layout = new DefaultLayout();
$layout = new ErrorLayout();
return $layout->fetch(new ErrorAction($e));
}
}