* @return \Illuminate\Pagination\LengthAwarePaginator */ public function paginate(): LengthAwarePaginator { $perPage = Request::get('per_page', 20); // $page = Request::get('page', 1); // $start = ($page - 1) * $perPage; $data = ModuleManager::toCollection(); $movies = $data->map(function ($module) { return [ 'id' => $module->getName(), 'name' => $module->getName(), 'alias' => $module->getAlias(), 'description' => $module->getDescription(), 'priority' => $module->getPriority(), 'keywords' => $module->get('keywords'), 'requires' => $module->getRequires(), 'enabled' => $module->isEnabled(), 'version' => $module->get('version'), 'author' => $module->get('author'), ]; }); $movies = static::hydrate($movies->toArray()); $paginator = new LengthAwarePaginator($movies, ModuleManager::count(), $perPage); $paginator->setPath(url()->current()); return $paginator; } }