Пример #1
0
 /**
  * @param \Knid\Http\Request $request
  * @return array
  */
 public function route(\Knid\Http\Request $request)
 {
     $requestUri = $request->getServer('REQUEST_URI');
     $requestUri = substr($requestUri, mb_strlen(dirname($request->getServer('SCRIPT_NAME'))));
     
     foreach ($this->routes as $route) {
         if ($routeParams = $route->match($requestUri)) {
             return $routeParams;
         }
     }
     throw new Exception();
 }
 public function restAction(Http\Request $request, Http\Response $response)
 {
     $requestMethod = $request->getServer('REQUEST_METHOD');
     switch ($requestMethod) {
         case 'GET':
         case 'POST':
             $action = strtolower($requestMethod) . 'Action';
             break;
         default:
             throw new \Exception();
     }
     return $this->$action($request, $response);
 }