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(); } }