> 分頁是數據輸出后經常用到的功能, 這里提供一個參考案例, 具體項目可就該對應的dom結構
## 控制器代碼
```
// 總頁數
$view->assign('pagecount', 100);
// 當前頁
$view->assign('p', isset($_GET['p']) ? $_GET['p'] : 1);
// url生成, 可在閉包函數中生成復雜的url
$view->assign('page', function ($p) {
return '/test/index.php?p=' . $p;
});
$view->display('index');
```
## 模板文件
```
<!DOCTYPE html>
<html>
<head>
<title>分頁效果</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css" />
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="http://apps.bdimg.com/libs/bootstrap/3.3.4/js/bootstrap.min.js"></script>
</head>
<body>
<!-- 這里可以做成單獨的模板文件, 然后用 php-include="common/page" 的方式引入 -->
<nav php-show="$pagecount > 1">
<ul class="pagination">
<li php-show="$p > 1">
<a href="{:$page(1)}">首頁</a>
</li>
<li php-show="$p > 1">
<a href="{:$page($p - 1)}">上一頁</a>
</li>
<li php-show="$p - 4 > 2">
<!-- 這里是 往前十頁, 如果第一頁顯示了, 就隱藏這個'...' 按鈕 -->
<a href="{:$page($p - 10 < 1 ? 1 : $p - 10)}"><span>...</span></a>
</li>
<li
php-for="$i = $p - 4; $i <= $p + 4; $i++"
php-show="$i > 0 && $i <= $pagecount"
class="{$p == $i ?= 'disabled'}">
<a php-show="$p != $i" href="{:$page($i)}">{$i}</a>
<span php-show="$p == $i">{$i}</span>
</li>
<li php-show="$p + 4 < $pagecount">
<!-- 這里是 后十頁, 如果最后一頁顯示了, 就隱藏這個'...' 按鈕 -->
<a href="{:$page($p + 10 > $pagecount ? $pagecount : $p + 10)}"><span>...</span></a>
</li>
<li php-show="$p < $pagecount">
<a href="{:$page($p + 1)}">下一頁</a>
</li>
<li php-show="$p < $pagecount">
<a href="{:$page($pagecount)}">尾頁 {$pagecount}</a>
</li>
</ul>
</nav>
</body>
</html>
```
## 最終效果
