tsany/pagination-library-v2
最新稳定版本:v1.0.0
Composer 安装命令:
composer require tsany/pagination-library-v2
包简介
A lightweight PHP pagination library with JSON formatting support.
README 文档
README
🧮 Library sederhana dan fleksibel untuk melakukan pagination (paginasi) data di PHP.
Mendukung berbagai sumber data melalui sistem adapter dan hasilkan metadata yang rapi dalam formatarraymaupunJSON.
⚙️ Fitur Utama
✅ Menggunakan adapter pattern (fleksibel untuk berbagai sumber data)
✅ Mendukung output array dan JSON
✅ Termasuk metadata lengkap (total data, halaman, URL navigasi, dll.)
✅ Mudah diintegrasikan ke framework (Laravel, Yii, CodeIgniter, dll.)
✅ Diuji dengan PHPUnit
📂 Struktur Direktori
├── src/
│ ├── Adapters/
│ │ ├── AdapterInterface.php
│ │ └── ArrayAdapter.php
│ ├── Helpers/
│ │ ├── JsonFormatter.php
│ │ └── Pagination.php
│ ├── Paginator.php
│ └── Pagination.php
├── tests/
│ └── PaginationTest.php
├── composer.json
├── phpunit.xml
└── README.md
🚀 Instalasi
Via Composer
composer require your-vendor/pagination-library
Cloning Repository
cd pagination-library
composer install
🧩 Contoh Penggunaan
1️⃣ Paginasi dari Array
use PaginationLib\Pagination;
$data = range(1, 100); // contoh data array
$adapter = new ArrayAdapter($data);
$pagination = new Pagination($adapter, perPage: 10, currentPage: 2, baseUrl: '/items?page=');
print_r($pagination->toArray());
Output
'meta' => [
'total_items' => 100,
'per_page' => 10,
'current_page' => 2,
'total_pages' => 10,
'next_page_url' => '/items?page=3',
'prev_page_url' => '/items?page=1'
],
'data' => [11,12,13,14,15,16,17,18,19,20]
]
2️⃣ Output JSON
echo $pagination->toJson();
Output
{
"meta": {
"total_items": 100,
"per_page": 10,
"current_page": 2,
"total_pages": 10,
"next_page_url": "/items?page=3",
"prev_page_url": "/items?page=1"
},
"data": [11,12,13,14,15,16,17,18,19,20]
}
🧪 Menjalankan Unit Test
vendor/bin/phpunit
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-10-09