public function run() { try { if (!$this->router->match($this->request->getMethod(), $this->request->getUrl())) { throw new \Exception('No route match url', 404); } $controllerClass = '\\Controllers\\' . ucfirst($this->router->getController()) . 'Controller'; $action = $this->router->getAction() . 'Action'; $controller = new $controllerClass($this); $response = call_user_func_array(array($controller, $action), $this->router->getParameters()); $response->setApp($this); $response->render(); } catch (\Exception $e) { $code = $e->getCode() === 404 ? 404 : 500; $response = new Response($code . '.html', array('msg' => $e->getMessage())); $response->setApp($this); $response->render(); } }
<?php require 'Slim/Slim.php'; require_once "app/lib/response.php"; require_once "dbconn.php"; \Slim\Slim::registerAutoloader(); $app = new \Slim\Slim(); Response::setApp($app); // GET route $app->get('/', function () { echo json_encode(["message" => "Urls should be here"]); }); //--------All-Routes-Here----------- require_once "app/routes/messages.php"; require_once "app/routes/accounts.php"; //--------All-Routes-Here----------- $app->run();