/** * @param \FREST\URL\Request $urlRequest * @return Request\Read */ protected static function constructReadRequestWithParameters($urlRequest) { $parameters = $urlRequest->getParameters(); $resourceID = $urlRequest->getResourceID(); $fields = NULL; $filters = NULL; $orderBys = NULL; $limit = NULL; $offset = NULL; if (isset($resourceID)) { $limit = 1; $filters['id'] = $resourceID; } else { $filters = $parameters; if (isset($parameters['limit'])) { // TODO: typecheck $limit = intval($parameters['limit']); unset($filters['limit']); } if (isset($parameters['offset'])) { // TODO: typecheck $offset = intval($parameters['offset']); unset($filters['offset']); } if (isset($parameters['orderBy'])) { $orderBys = explode(',', $parameters['orderBy']); unset($filters['orderBy']); } } if (isset($parameters['fields'])) { $fields = explode(',', $parameters['fields']); unset($filters['fields']); } $resourceRequest = new Request\Read($urlRequest->getResourceName(), $fields, $filters, $orderBys, $limit, $offset); return $resourceRequest; }