本文整理汇总了PHP中Sylius\Component\Resource\Repository\RepositoryInterface::createPaginator方法的典型用法代码示例。如果您正苦于以下问题:PHP RepositoryInterface::createPaginator方法的具体用法?PHP RepositoryInterface::createPaginator怎么用?PHP RepositoryInterface::createPaginator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sylius\Component\Resource\Repository\RepositoryInterface
的用法示例。
在下文中一共展示了RepositoryInterface::createPaginator方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
function it_creates_paginator_by_default(RequestConfiguration $requestConfiguration, RepositoryInterface $repository, Pagerfanta $paginator)
{
$requestConfiguration->isHtmlRequest()->willReturn(true);
$requestConfiguration->getRepositoryMethod()->willReturn(null);
$requestConfiguration->isPaginated()->willReturn(true);
$requestConfiguration->getPaginationMaxPerPage()->willReturn(5);
$requestConfiguration->isLimited()->willReturn(false);
$requestConfiguration->getCriteria()->willReturn([]);
$requestConfiguration->getSorting()->willReturn([]);
$repository->createPaginator([], [])->willReturn($paginator);
$this->getResources($requestConfiguration, $repository)->shouldReturn($paginator);
}
示例2: getResources
/**
* {@inheritdoc}
*/
public function getResources(RequestConfiguration $requestConfiguration, RepositoryInterface $repository)
{
if (null !== ($repositoryMethod = $requestConfiguration->getRepositoryMethod())) {
$callable = [$repository, $repositoryMethod];
$resources = call_user_func_array($callable, $requestConfiguration->getRepositoryArguments());
return $resources;
}
if (!$requestConfiguration->isPaginated() && !$requestConfiguration->isLimited()) {
return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
}
if (!$requestConfiguration->isPaginated()) {
return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting(), $requestConfiguration->getLimit());
}
return $repository->createPaginator($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
}
示例3: getResources
/**
* {@inheritdoc}
*/
public function getResources(RequestConfiguration $requestConfiguration, RepositoryInterface $repository)
{
$repositoryMethod = $requestConfiguration->getRepositoryMethod();
if (null !== $repositoryMethod) {
$arguments = array_values($requestConfiguration->getRepositoryArguments());
return $repository->{$repositoryMethod}(...$arguments);
}
if (!$requestConfiguration->isPaginated() && !$requestConfiguration->isLimited()) {
return $repository->findAll();
}
if (!$requestConfiguration->isPaginated()) {
return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting(), $requestConfiguration->getLimit());
}
return $repository->createPaginator($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
}
示例4: get
/**
* {@inheritdoc}
*/
public function get(RequestConfiguration $requestConfiguration, RepositoryInterface $repository)
{
if (null !== ($repositoryMethod = $requestConfiguration->getRepositoryMethod())) {
$callable = [$repository, $repositoryMethod];
return call_user_func_array($callable, $requestConfiguration->getRepositoryArguments());
}
if (!$requestConfiguration->isPaginated() && !$requestConfiguration->isLimited()) {
return $repository->findAll();
}
if (!$requestConfiguration->isPaginated()) {
return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting(), $requestConfiguration->getLimit());
}
$request = $requestConfiguration->getRequest();
/** @var Pagerfanta $paginator */
$paginator = $repository->createPaginator($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
$paginator->setCurrentPage($request->query->get('page', 1));
if (!$requestConfiguration->isHtmlRequest()) {
$route = new Route($request->attributes->get('_route'), array_merge($request->attributes->get('_route_params'), $request->query->all()));
return $this->pagerfantaRepresentationFactory->createRepresentation($paginator, $route);
}
return $paginator;
}
示例5: array
function it_creates_a_pagniated_respresentation_for_pagerfanta_for_non_html_requests(RequestConfiguration $requestConfiguration, RepositoryInterface $repository, Pagerfanta $paginator, Request $request, ParameterBag $queryParameters, ParameterBag $requestAttributes, PagerfantaFactory $pagerfantaRepresentationFactory, PaginatedRepresentation $paginatedRepresentation)
{
$requestConfiguration->isHtmlRequest()->willReturn(false);
$requestConfiguration->getRepositoryMethod()->willReturn(null);
$requestConfiguration->isPaginated()->willReturn(true);
$requestConfiguration->isLimited()->willReturn(false);
$requestConfiguration->getCriteria()->willReturn(array());
$requestConfiguration->getSorting()->willReturn(array());
$repository->createPaginator(array(), array())->willReturn($paginator);
$requestConfiguration->getRequest()->willReturn($request);
$request->query = $queryParameters;
$queryParameters->get('page', 1)->willReturn(6);
$queryParameters->all()->willReturn(array('foo' => 2, 'bar' => 15));
$request->attributes = $requestAttributes;
$requestAttributes->get('_route')->willReturn('sylius_product_index');
$requestAttributes->get('_route_params')->willReturn(array('slug' => 'foo-bar'));
$paginator->setCurrentPage(6)->shouldBeCalled();
$pagerfantaRepresentationFactory->createRepresentation($paginator, Argument::type(Route::class))->willReturn($paginatedRepresentation);
$this->get($requestConfiguration, $repository)->shouldReturn($paginatedRepresentation);
}