技术饭
tp5分页的?方式如何改为pathinfo模式
tp5分页的?方式如何改为pathinfo模式,今天在弄tp5分页的时候发现分页默认采用的是?问号的形式,个人习惯了之前的pathinfo模式,所以就去修改了tp5的分页代码。只要修改url方法 与 getCurrentPage方法,代码修改处仅供参考,请自行进行测试!
/**
* 获取页码对应的链接
*
* @param $page
* @return string
*/
protected function url($page)
{
if ($page <= 0) {
$page = 1;
}
if (strpos($this->options['path'], '[PAGE]') === false) {
$parameters = [$this->options['var_page'] => $page];
$path = $this->options['path'];
} else {
$parameters = [];
$path = str_replace('[PAGE]', $page, $this->options['path']);
}
if (count($this->options['query']) > 0) {
$parameters = array_merge($this->options['query'], $parameters);
}
$url = $path;
if (!empty($parameters)) {
//$url .= '?' . urldecode(http_build_query($parameters, null, ''));
//分页改动
$url = url(request()->action(),$parameters);
}
return $url . $this->buildFragment();
}
/**
* 自动获取当前页码
* @param string $varPage
* @param int $default
* @return int
*/
public static function getCurrentPage($varPage = 'page', $default = 1)
{
//$page = Request::instance()->request($varPage);
//分页改动
$page = input("param." . $varPage);
if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int) $page >= 1) {
return $page;
}
return $default;
}
文明上网理性发言!