routes = include($routesPath); } public function run() { $uri = $this->getURI(); if (!$uri) { $obj = new MainController(); $obj -> actionIndex(); return null; } $controllerName = ""; foreach($this->routes as $uriPattern => $path) { if(preg_match("~$uriPattern~", $uri)){ // проверка: если есть совпадение, то выведет путь из routes.php $segments = explode('/', $path); $controllerName = array_shift($segments) . 'Controller'; $controllerName = ucfirst($controllerName); $actionName = 'action' . ucfirst(array_shift($segments)); $controllerObject = new $controllerName; $result = $controllerObject->$actionName(); } } if (!$controllerName) { // echo("Else Router"); // Page Not Found $obj = new MainController(); $obj -> actionNotFound(); } } private function getURI(){ if(!empty($_SERVER['REQUEST_URI'])){ return trim($_SERVER['REQUEST_URI'], '/'); } } }