public function dispatch() { try { $this->setUriParsedResult($this->getRouter()->processRequestUri($this->getRequestUri(), $this->getRequestMethod(), $this->getUserRole(), $this->getPostData())); $view = View::getInstance(); $view->setAreaViewsDirectory(DirectoryHelper::getViewsDirectory($this->getUriParsedResult()->getAreaName())); $view->setSharedViewsDirectory(DirectoryHelper::getSharedViewsDirectory()); $this->initController($this->getUriParsedResult(), $view); call_user_func_array([$this->getController(), $this->getUriParsedResult()->getActionName()], $this->getUriParsedResult()->getRequestParams()); } catch (\Exception $exception) { echo $exception->getMessage(); } }