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