/** * register the provider * * @return mixed */ public function register() { Paginator::setCurrentPageFinder(function () { if (isset($_GET['page'])) { $page = first(GUMP::xss_clean([$_GET['page']])); return $page; } else { return 1; } }); $request = App::make('http.request'); Paginator::setRequestPathFinder(function () use($request) { if ($request instanceof Request) { return $request->getBaseWithoutQuery(); } }); }
/** * create a instance for standart pagination * * @param int $perPage * @return Paginator */ public function pagination($perPage = 15) { $currentPageFinder = Paginator::getCurrentPageFinder(); $pathFinder = Paginator::getRequestPathFinder(); $pagination = new Paginator($perPage, call_user_func($currentPageFinder), ['pageName' => 'page', 'path' => call_user_func($pathFinder)]); $pagination->setMode(Paginator::MODE_STANDART); $count = $this->build()->rowCount(); $pagination->count($count); return $pagination; }