PaginationState.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace Illuminate\Pagination;
  3. class PaginationState
  4. {
  5. /**
  6. * Bind the pagination state resolvers using the given application container as a base.
  7. *
  8. * @param \Illuminate\Contracts\Foundation\Application $app
  9. * @return void
  10. */
  11. public static function resolveUsing($app)
  12. {
  13. Paginator::viewFactoryResolver(function () use ($app) {
  14. return $app['view'];
  15. });
  16. Paginator::currentPathResolver(function () use ($app) {
  17. return $app['request']->url();
  18. });
  19. Paginator::currentPageResolver(function ($pageName = 'page') use ($app) {
  20. $page = $app['request']->input($pageName);
  21. if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int) $page >= 1) {
  22. return (int) $page;
  23. }
  24. return 1;
  25. });
  26. Paginator::queryStringResolver(function () use ($app) {
  27. return $app['request']->query();
  28. });
  29. CursorPaginator::currentCursorResolver(function ($cursorName = 'cursor') use ($app) {
  30. return Cursor::fromEncoded($app['request']->input($cursorName));
  31. });
  32. }
  33. }