public function dispatch()
 {
     if (!$_GET || !isset($_GET['uri'])) {
         header('Location: ' . FrameworkRoutingConfig::AUTHORIZED_REDIRECT);
         exit;
     }
     try {
         $this->_uriParseResult = $this->_router->processRequestUri($_GET['uri']);
         $fullControllerName = DirectoryBuilder::getControllerPath($this->_uriParseResult->getAreaName(), $this->_uriParseResult->getControllerName());
         $this->initController($fullControllerName);
         $bindingResult = BindingsResolver::resolveModelBinding($this->_controller, $this->_uriParseResult->getActionName());
         $this->_uriParseResult->addRequestParam($bindingResult);
         View::setAreaName($this->_uriParseResult->getAreaName());
         View::setControllerName($this->_uriParseResult->getControllerName());
         View::setActionName($this->_uriParseResult->getActionName());
         call_user_func_array([$this->_controller, $this->_uriParseResult->getActionName()], $this->_uriParseResult->getRequestParams());
     } catch (\Exception $exception) {
         echo $exception->getMessage();
     }
 }
 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();
     }
 }