routes = include($routesPath); } public function run() { $uri = $this->getURI(); $controllerName = ""; foreach ($this->routes as $uriPattern => $path) { if (preg_match("~$uriPattern~", $uri)) { $segments = explode('/', $path); $controllerName = array_shift($segments) . 'Controller'; $controllerName = ucfirst($controllerName); $actionName = 'action' . ucfirst(array_shift($segments)); $controllerObject = new $controllerName(); $result = $controllerObject->$actionName(); // var_dump($controllerFile); } if (!$controllerName) { // Page not found $obj = new MainController(); $obj->actionNotFound(); // var_dump($obj); // $controllerName = "MainController"; // $actionName = "actionIndex"; // $controllerObject = new $controllerName; // $result = $controllerObject::$actionName(); break; } $controllerObject = new $controllerName; $result = $controllerObject::$actionName(); // выводим название экшена echo '
' . $result; } } private function getURI() { if (!empty($_SERVER['REQUEST_URI'])) { return trim($_SERVER['REQUEST_URI'], '/'); } } }