public static function OffsetPage::createFromQueryParameter in Drupal 8
Same name and namespace in other branches
- 9 core/modules/jsonapi/src/Query/OffsetPage.php \Drupal\jsonapi\Query\OffsetPage::createFromQueryParameter()
- 10 core/modules/jsonapi/src/Query/OffsetPage.php \Drupal\jsonapi\Query\OffsetPage::createFromQueryParameter()
Creates an OffsetPage object from a query parameter.
Parameters
mixed $parameter: The `page` query parameter from the Symfony request object.
Return value
static An OffsetPage object with defaults.
3 calls to OffsetPage::createFromQueryParameter()
- EntityResource::getJsonApiParams in core/modules/ jsonapi/ src/ Controller/ EntityResource.php 
- Extracts JSON:API query parameters from the request.
- OffsetPageTest::testCreateFromQueryParameter in core/modules/ jsonapi/ tests/ src/ Unit/ Query/ OffsetPageTest.php 
- @covers ::createFromQueryParameter @dataProvider parameterProvider
- OffsetPageTest::testCreateFromQueryParameterFail in core/modules/ jsonapi/ tests/ src/ Unit/ Query/ OffsetPageTest.php 
- @covers ::createFromQueryParameter
File
- core/modules/ jsonapi/ src/ Query/ OffsetPage.php, line 110 
Class
- OffsetPage
- Value object for containing the requested offset and page parameters.
Namespace
Drupal\jsonapi\QueryCode
public static function createFromQueryParameter($parameter) {
  if (!is_array($parameter)) {
    $cacheability = (new CacheableMetadata())
      ->addCacheContexts([
      'url.query_args:page',
    ]);
    throw new CacheableBadRequestHttpException($cacheability, 'The page parameter needs to be an array.');
  }
  $expanded = $parameter + [
    static::OFFSET_KEY => static::DEFAULT_OFFSET,
    static::SIZE_KEY => static::SIZE_MAX,
  ];
  if ($expanded[static::SIZE_KEY] > static::SIZE_MAX) {
    $expanded[static::SIZE_KEY] = static::SIZE_MAX;
  }
  return new static($expanded[static::OFFSET_KEY], $expanded[static::SIZE_KEY]);
}