/** * Extracts filtering criteria from an array of query params. * * @param array $params * @return self */ private function extractFilters(array $params) { if (false === $this->issetNotEmpty(self::PARAM_FILTERING, $params)) { return $this; } $filters = $params[self::PARAM_FILTERING]; if (!is_array($filters)) { throw RestException::invalidQueryParam(self::PARAM_FILTERING, 'The filter parameter must be an array keyed by filter name and value.'); } foreach ($filters as $key => $value) { $this->filters[$key] = $value; } return $this; }